A monad for disjunctions (e.g.: computations that may fail)