Module WithMonadAndError.WithMonad

type t('a, 'e) = WithMonad(M).t('a'e) =
| ResultT(M.t(Pervasives.result('a'e)))
;
let make: M.t(Pervasives.result('a'e)) => t('a'e);
let runResultT: t('a'e) => M.t(Pervasives.result('a'e));
let withResultT: ('e1 => 'e2) => t('a'e1) => t('a'e2);
let mapResultT: (M.t(Pervasives.result('a'e)) => M.t(Pervasives.result('b'e))) => t('a'e) => t('b'e);
let fromResult: Pervasives.result('a'e) => t('a'e);
let liftF: M.t('a) => t('a'e);
let map: ('a => 'b) => t('a'e) => t('b'e);
let subflatMap: ('a => Pervasives.result('b'e)) => t('a'e) => t('b'e);
let cond: ('a => bool) => 'a => 'e => t('a'e) => t('a'e);
let condError: ('a => bool) => 'e => t('a'e) => t('a'e);
let mapError: ('e1 => 'e2) => t('a'e1) => t('a'e2);
let bimap: ('a => 'b) => ('e1 => 'e2) => t('a'e1) => t('b'e2);
let apply: t('a => 'b'e) => t('a'e) => t('b'e);
let pure: 'a => t('a'e);
let bind: t('a'e) => ('a => t('b'e)) => t('b'e);
let semiflatMap: ('a => M.t('b)) => t('a'e) => t('b'e);
module WithError: (E: BsBastet.Interface.TYPE) => { ... };