Module type Relude_Interface.MONAD_THROW

Module type signature for a Monad that can produce an error in a monadic context

include BsBastet.Interface.MONAD;
type t('a);
let map: ('a => 'b) => t('a) => t('b);
let apply: t(('a => 'b)) => t('a) => t('b);
let pure: 'a => t('a);
let flat_map: t('a) => ('a => t('b)) => t('b);
type e;
let throwError: e => t('a);