Result type

In functional programming, a result type is a monadic type holding a returned value or an error code.

They provide an elegant way of handling errors, without resorting to exception handling; when a function that may fail returns a result type, the programmer is forced to consider success or failure paths, before getting access to the expected result; this eliminates the possibility of an erroneous programmer assumption.

The result object has the methods is_ok() and is_err().