Via.Core
Feed marked inputs through the argument arrow, passing the rest through unchanged to the output.
Split the input between the two argument arrows, re-tagging and merging their outputs.
include Preface_specs.Category.WITH_ID with type ('a, 'b) t := ('a, 'b) t
val id : ('a, 'a) t
The identity morphism.
Send the first component of the input through the argument Arrow
, and copy the rest unchanged to the output.
val arrow : ('a -> 'b) -> ('a, 'b) t
Lift a function to an Arrow
.