Arrow_plus.WITH_ARROW_AND_FST
RMinimal definition using arrow, fst, neutral and combine.
arrow
fst
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 fst : ('a, 'b) t -> ('a * 'd, 'b * 'd) t
Send the first component of the input through the argument Arrow, and copy the rest unchanged to the output.