Module type Either.Focused
type (+'focus, +'other) tinclude Monad.S2 with type ('a, 'b) t := ('a, 'b) 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 join : (('a, 'e) t, 'e) t -> ('a, 'e) tval ignore_m : (_, 'e) t -> (unit, 'e) tinclude Applicative.S2 with type ('a, 'b) t := ('a, 'b) t
val return : 'a -> ('a, _) tval map : ('a, 'e) t -> f:('a -> 'b) -> ('b, 'e) tval both : ('a, 'e) t -> ('b, 'e) t -> ('a * 'b, 'e) tval (<*>) : ('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 (>>|) : ('a, 'e) t -> ('a -> 'b) -> ('b, 'e) tval apply : ('a -> 'b, 'e) t -> ('a, 'e) t -> ('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 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