This is a rather uncooked idea, just to explain that I only suggest this as some inspiration rather than saying it should go into the language.
I blogged about this:
https://medium.com/@christoffer_99666/why-system-level-languages-are-considered-difficult-a-different-take-7ad0982369bWhere my point is that the
pain point of using C/C++/Rust etc is usually the lack of ergonomics for arrays, maps and strings. I would say that the main
gain in going to a high level language is not OO, but having a lot less boilerplate for these.
Note also that Go 1 only has 2 generic structures: the array and the map. Everything else is non-generic.
These are also the only things that you REALLY need generics for (everything else are "nice to haves")
By adding a native generic array (including a variable size one) and a map + "real strings" and you increase the ergonomics immensely for the non-critical parts of a project.