The more I work with go the more it feels like a child-proofed language. (Not definitely bad, but a huge trade-off with expressiveness).
I like programming go (nothing before you say but matters), but a lack of generics is a massive issue.
Seriously … data structures, algorithms, code sharing, re-usability, etc.
Also, lack of generics isn't by design, it’s a practical concern for the go team. It’s weird for people for people to defend a deficiency as a strength.
Go is popular because it builds fast, is simple, and has a passable mechanism for dependencies. Everything else is an afterthought (visa vis success)