My opinion: What they got right is what Rob e.g. concurrency, better C, etc., had figured out (so it was version n). Other stuff he apparently doesn't understand at the same level (e.g. [type systems, versioning,] hard coding repo locations in package imports <head smack>) ...
Could you elaborate more about type systems? I don't have a definite opinion about Go's type systems so far, and it surely has it quirks, but TBH, I like the concepts. In particular, the complete separation of data types (structs) and behaviour types (interfaces) is something that I've never actually seen before.
That horse has been beaten to death elsewhere. Go is [a] sweet language, don't get me wrong, but it is a mixed bag of extreme brilliance ('select') & head-scratching wtfs (OP).
Interfaces are hardly new. Go's novel take is the 'auto-morphism'[1] of types that (happen) to implement the function set aggregated in an interface. And this approach has its strengths and its weaknesses.
[edit]