> But the way I see it, 95%+ of programs don't truly need generics.
Yes, they do. Pretty much 100% of programmers in statically-typed language need to use generic types/functions.
The "95%+" thing is just an observation that one typically needs to define type-parametrized structures of function very seldom. This is true, but it's in no way a good point against adding generics, because those remaining ~5% of cases are crucial for peaceful programming the other ~95% of times. That's why Go has built-in generic types, but as it's adoption grows, it's becomming clear they won't do any more...
> In fact, I think most people asking for "generics" would have their true needs met by adding a few more built-ins to the language.
You argued against magic and now you'd like to add some more of it to the language...
Yes, they do. Pretty much 100% of programmers in statically-typed language need to use generic types/functions.
The "95%+" thing is just an observation that one typically needs to define type-parametrized structures of function very seldom. This is true, but it's in no way a good point against adding generics, because those remaining ~5% of cases are crucial for peaceful programming the other ~95% of times. That's why Go has built-in generic types, but as it's adoption grows, it's becomming clear they won't do any more...
> In fact, I think most people asking for "generics" would have their true needs met by adding a few more built-ins to the language.
You argued against magic and now you'd like to add some more of it to the language...