This is a really interesting perspective on go from the outside, obviously some of the tradeoffs chosen in Go are distasteful for the author and this is a matter of taste but things like option types are an interesting solution to the more verbose go error handling for example. So while I'd never want go to become Haskell, there are some ideas here worth considering.