Introduce Result class to allow a modern representation of failure cases

For prior art, see:

Though there are some drawbacks, such as not supporting exhaustive match ing due to a lack of @sealed.

Also related to ADTs:

2 Likes