Three Months of Go from a Haskeller’s perspective (2016)
Go is a programming language for teams, not primarily designed to impress individual programmers...I agree with all points with the author. But working in teams, or even mutiple teams on the same software, then go solves a lot of problems for you..Yeah its a dumb language, missing a  lot of features. But there is only 1 way to program, dependency management is sane (no circular dependencies), and the language is build for readability, not for writing code fast and elegantly...Often short dense code with complex types is just really hard to read for your overage joe programmer.We're not all computer scientists here.Go is designed to write maintainable server side programs that can utilize concurrency in computer these days. Therefore they left out generics... I hope its coming.
I do wish error handling and generics where part of the language... And a tuple type indeed.