val (>>=) : ('e, 'a) t -> ('a -> ('e, 'b) t) -> ('e, 'b) tval (>>|) : ('e, 'a) t -> ('a -> 'b) -> ('e, 'b) tval bind : ('e, 'a) t -> f:('a -> ('e, 'b) t) -> ('e, 'b) tval return : 'a -> ('b, 'a) tval map : ('e, 'a) t -> f:('a -> 'b) -> ('e, 'b) tval join : ('e, ('e, 'a) t) t -> ('e, 'a) tval ignore_m : ('e, 'a) t -> ('e, unit) tval all : ('e, 'a) t list -> ('e, 'a list) tval all_unit : ('e, unit) t list -> ('e, unit) t