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