module type Focused = sig .. end
Many functions in Either focus on just one constructor. The Focused signature
abstracts over which constructor is the focus. To use these functions, use the
First or Second modules in S.
type (+'focus, +'other) t
include Monad.S2
include Applicative.S2
include Container.S1_phantom
module Args: Applicative.Args2 with type ('a, 'e) arg := ('a, 'e) t
val value : ('a, 'b) t -> default:'a -> 'a
val to_option : ('a, 'b) t -> 'a option
val with_return : ('a With_return.return -> 'b) -> ('a, 'b) t
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