People address some of these issues piecemeal with linters and code generators, but maybe there’s an opportunity for someone to create a Go++ language that accepts Go syntax but also extends it with sum types, nullability annotations, no default values, checked error handling, operator overloading for collection, etc. I remember people were excited (and dubious) of the Go-like language V.