Parameter Over_arrow_with_left_and_choose.Choose_left

type ('a, 'b) t = ('a, 'b) Arrow.t

The type held by the Arrow_choice.

val left : ('a, 'b) t -> (('a, 'c) Stdlib.Either.t, ('b, 'c) Stdlib.Either.t) t

Feed marked inputs through the argument arrow, passing the rest through unchanged to the output.

val choose : ('a, 'b) t -> ('c, 'd) t -> (('a, 'c) Stdlib.Either.t, ('b, 'd) Stdlib.Either.t) t

Split the input between the two argument arrows, re-tagging and merging their outputs.