`Result<T, E>` comes from Haskell's `Either a b` type. F# also has a `Result<'T, 'E>` type.
It's funny how often functional programming languages lead the way, but imperative languages end up with the credit.
It's funny how often functional programming languages lead the way, but imperative languages end up with the credit.
Java's checked exception is just an (very anti-ergonomic) implementation of tagged union type.
I think FP receives a lot of "credit."
Albeit the "pure" FP languages aren't popular, because 99% FP is really hard.