

Go’s val, err := maybeDoThing() pattern isn’t the same thing because it’s not a discriminated union like Rust’s Result or C++'s std::expected or the Typescript example in the article. Moreover, due to restrictions in Go’s generics, it’s impossible to implement what is imo the most attractive pattern enabled by the discriminated union Result types - monadic operations.









Plenty of countries declared IRGC, part of Iran’s military, a terrorist organization including US, EU, Australia. Clearly not a blocker.