Via.CoreFeed 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) tval id : ('a, 'a) tThe 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) tLift a function to an Arrow.