Module Applicative.Of_monad2
Parameters
Signature
val return : 'a -> ('a, _) M.tval map : ('a, 'e) M.t -> f:('a -> 'b) -> ('b, 'e) M.tval both : ('a, 'e) M.t -> ('b, 'e) M.t -> ('a * 'b, 'e) M.tval (<*>) : ('a -> 'b, 'e) M.t -> ('a, 'e) M.t -> ('b, 'e) M.tval (<*) : ('a, 'e) M.t -> (unit, 'e) M.t -> ('a, 'e) M.tval (*>) : (unit, 'e) M.t -> ('a, 'e) M.t -> ('a, 'e) M.tval (>>|) : ('a, 'e) M.t -> ('a -> 'b) -> ('b, 'e) M.tval apply : ('a -> 'b, 'e) M.t -> ('a, 'e) M.t -> ('b, 'e) M.tval map2 : ('a, 'e) M.t -> ('b, 'e) M.t -> f:('a -> 'b -> 'c) -> ('c, 'e) M.tval map3 : ('a, 'e) M.t -> ('b, 'e) M.t -> ('c, 'e) M.t -> f:('a -> 'b -> 'c -> 'd) -> ('d, 'e) M.tval all : ('a, 'e) M.t list -> ('a list, 'e) M.tval all_unit : (unit, 'e) M.t list -> (unit, 'e) M.t