Via.Coreselect e f apply f if e is Left. It allow to skip effect using Right.
val branch :
(('a, 'b) Stdlib.Either.t, 'index) t ->
('a -> 'c, 'index) t ->
('b -> 'c, 'index) t ->
('c, 'index) tbranch is like select. It chooses between two effects.
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := ('a, 'index) tinclude Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := ('a, 'index) tinclude Preface_specs.Indexed_apply.WITH_MAP_AND_PRODUCT
with type ('a, 'index) t := ('a, 'index) tinclude Preface_specs.Indexed_functor.WITH_MAP
with type ('a, 'index) t := ('a, 'index) tinclude Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := ('a, 'index) tval pure : 'a -> ('a, 'index) tLift a value from 'a into a new t.