val return : 'a -> ('a, _, _) tval map : ('a, 'd, 'e) t -> f:('a -> 'b) -> ('b, 'd, 'e) tval both : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('a * 'b, 'd, 'e) tval (<*>) : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) tval (<*) : ('a, 'd, 'e) t -> (unit, 'd, 'e) t -> ('a, 'd, 'e) tval (*>) : (unit, 'd, 'e) t -> ('a, 'd, 'e) t -> ('a, 'd, 'e) tval (>>|) : ('a, 'd, 'e) t -> ('a -> 'b) -> ('b, 'd, 'e) tval apply : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) tval map2 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> f:('a -> 'b -> 'c) -> ('c, 'd, 'e) tval map3 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('c, 'd, 'e) t -> f:('a -> 'b -> 'c -> 'result)
-> ('result, 'd, 'e) tval all : ('a, 'd, 'e) t list -> ('a list, 'd, 'e) tval all_unit : (unit, 'd, 'e) t list -> (unit, 'd, 'e) t