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);