But OTOH it really "just works" out of the box.
WRT generators: have you tried using channels? "The tour of Go" seems to instill you with the idea that you should not iterate over lists and use channels instead.
I also miss list comprehensions and, for that matter, type-parametrized functions.
OTOH, static duck typing is brilliant: best of both worlds.
BTW it looks like less work at compile time than the elaborate run-time solution that you linked to. It probably will not even require generation of specialized versions for primitive types.
But, that output / work product is -- and a huge part of Go's value is around the EDGES of a system (build, standard formatting, deploys, etc)
[1]http://help.duckduckgo.com/customer/portal/articles/216392-a...
Sarcasm doesn't belong on HN.
That said, choice of programming language is important. It's possible to be 10x to 100x more productive in one language (at least to start with), if it has libraries (included in the standard lib or community) that do most of the hard work for you. It's very easy to get started with a Python project, if your work at all uses Numpy/Scipy/ETC. The choice of programing language also is a big factor in what engineers you can hire in the future.