Rresult

Rresult is an OCaml module for handling computation results and errors in an explicit and declarative manner without resorting to exceptions. It defines combinators to operate on the values of the result type available from OCaml 4.03 in the standard library.

OCaml 4.08 provides the Stdlib.Result module which you should prefer to Rresult

Rresult depends on the compatibility is distributed under the ISC license.