Sure, no language is perfect but some things in Go were apparently "to make it simpler", but by lack of them it made the code in the end more complex and/or verbose.
Lack of generics made a lot of code less type-safe than it should, and just more complexity and/or duplication.
Lack of sum types made some types ugly (like mentioned IP type), and other ways of control flow harder. Rust-like Result<T> would be massive improvement to verboseness of error handling in Go for example, without really any drawbacks.