Don't forget C# 1.0 which also shipped without generics. The people designing these langs were not inexperienced, far from it. Yet the mistake keeps being repeated every decade. I feel like the industry would be a lot further along if we paid more attention to these lessons from the past.