Very nice write up. I liked the point that Result and Option types would fit nicely into Go and totally agree. Now that I've used rust, languages without Result / Option / match expressions feel weak and dangerous.
> Explicit interfaces. In Go, you cannot have multiple functions with the same name. Because of how this interacts with implicit interfaces, if two interfaces you need to implement require a method with the same name, it gets very hard to manage. Normally this is not an issue, but I also like being explicit about things.
Oh cool, I missed this in the 1.14 release notes. This partially fixes it, but it's not easy to implement multiple interfaces with overlapping functions because you still can't implement multiple functions on the same type with the same name.