The “huge problems” is an interesting point. There are times when generics make code cleaner, other times when it obfuscates the underlying structure. Just like the tools in a workshop each has there place. Soon I’m going to do a write showing where different style interfaces and generics combined could make Go code much simpler and more maintainable. We are already use generics in the form of map/append/etc right now.