Go is so simple that there are dozens of code generators and project dependency management solutions. Yet people live to espouse it's simplicity. It's simple like C in that regard, you have to roll your own solutions to avoid copy pasta hell if you want type safety and sane project management. The real mistake though is the lack of an Option type. The inability to express optional differently from passing references efficiently is a large test case burden.