Module Base.Either.Second
type ('a, 'b) t = ('b, 'a) tinclude Monad.S2 with type (a, b) t := (a, b) t
include Base__.Monad_intf.Infix2 with type (a, e) t := (a, e) t
val (>>=) : ('a, 'e) t ‑> ('a ‑> ('b, 'e) t) ‑> ('b, 'e) tval (>>|) : ('a, 'e) t ‑> ('a ‑> 'b) ‑> ('b, 'e) tval bind : ('a, 'e) t ‑> f:('a ‑> ('b, 'e) t) ‑> ('b, 'e) tval return : 'a ‑> ('a, _) tval map : ('a, 'e) t ‑> f:('a ‑> 'b) ‑> ('b, 'e) tval join : (('a, 'e) t, 'e) t ‑> ('a, 'e) tval ignore_m : (_, 'e) t ‑> (unit, 'e) tval all : ('a, 'e) t list ‑> ('a list, 'e) tval all_unit : (unit, 'e) t list ‑> (unit, 'e) tval all_ignore : (unit, 'e) t list ‑> (unit, 'e) t- Deprecated [since 2018-02] Use [all_unit]
include Applicative.S2 with type (a, b) t := (a, b) t
val return : 'a ‑> ('a, _) tval apply : ('a ‑> 'b, 'e) t ‑> ('a, 'e) t ‑> ('b, 'e) tval map : ('a, 'e) t ‑> f:('a ‑> 'b) ‑> ('b, 'e) tval map2 : ('a, 'e) t ‑> ('b, 'e) t ‑> f:('a ‑> 'b ‑> 'c) ‑> ('c, 'e) tval map3 : ('a, 'e) t ‑> ('b, 'e) t ‑> ('c, 'e) t ‑> f:('a ‑> 'b ‑> 'c ‑> 'd) ‑> ('d, 'e) tval all : ('a, 'e) t list ‑> ('a list, 'e) tval all_unit : (unit, 'e) t list ‑> (unit, 'e) tval all_ignore : (unit, 'e) t list ‑> (unit, 'e) t- Deprecated [since 2018-02] Use [all_unit]
val both : ('a, 'e) t ‑> ('b, 'e) t ‑> ('a * 'b, 'e) tinclude module type of Applicative_infix
val (<*>) : ('a ‑> 'b, 'e) t ‑> ('a, 'e) t ‑> ('b, 'e) tval (<*) : ('a, 'e) t ‑> (unit, 'e) t ‑> ('a, 'e) tval (*>) : (unit, 'e) t ‑> ('a, 'e) t ‑> ('a, 'e) tval value : ('a, _) t ‑> default:'a ‑> 'aval to_option : ('a, _) t ‑> 'a optionval combine : ('a, 'd) t ‑> ('b, 'd) t ‑> f:('a ‑> 'b ‑> 'c) ‑> other:('d ‑> 'd ‑> 'd) ‑> ('c, 'd) tval combine_all : ('a, 'b) t list ‑> f:('b ‑> 'b ‑> 'b) ‑> ('a list, 'b) tval combine_all_unit : (unit, 'b) t list ‑> f:('b ‑> 'b ‑> 'b) ‑> (unit, 'b) t