Posted a lib on nimble.directory for returning a value or an error, but not both, in a clean way:
https://nimble.directory/pkg/result
It's a nice complement for those occasions where Optional[T] is not enough and exceptions fit poorly!
Happy to hear your feedback if you find it useful (or not) - currently experimenting a bit with the syntax. Would likely fit well with a pattern matching library.