Earlier quoted context omitted.
> What specific data modeling can I not do in Go You're getting into the Turing tar-pit. There's nothing you can do in Rust you can't also do in Go, technically. Hell, you can do it all in Brainfuck too, if you so desire. The big thing, though, is ADTs. Being able to say "the value is one of 3 possible values" is a lot easier than saying "here are three values, you should use the non-zero one".
> You're getting into the Turing tar-pit. I am fully aware of that. My question is, what specific technical problems are caused by Go not having {feature_goes_here}. > The big thing, though, is ADTs Except it isn't a big thing, because for the few use cases where an ADT is actually, really, really, REALLY required, they can be expressed in Go using existing language features. https://go.dev/doc/faq#variant_types http…
Also, it's not about ADT's being required. They're preferred, and Go's type system suffers for their lack. Go is a living, breathing example of the blub paradox in action.