Arrow_plus.WITH_ARROW_AND_SPLIT
Minimal definition using arrow, split, neutral and combine.
arrow
split
neutral
combine
type ('a, 'b) t
The type held by the Arrow_zero.
Arrow_zero
val neutral : ('a, 'b) t
The neutral element of the Arrow_zero.
val combine : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
Combine two values of ('a, 'b) t into one.
('a, 'b) t
val arrow : ('a -> 'b) -> ('a, 'b) t
Lift a function to an Arrow.
Arrow
val split : ('a, 'b) t -> ('c, 'd) t -> ('a * 'c, 'b * 'd) t
Split the input between the two given Arrows and combine their output.
Arrows