Preface_specs.Arrow_plusAn Arrow_plus is the conjonction of an Arrow_zero and Arrow_alt. An Arrow_plus is a kind of Monoid in the arrow hierarchy. And it also an Arrow_alt and an Arrow_zero (which is also a Arrow).
To have a predictable behaviour, the instance of Arrow_plus must obey some laws.
Arrow_alt lawsmodule type WITH_COMBINE_AND_NEUTRAL = sig ... endExposes the neutral value and combine function, mandatory for each requirement.
module type WITH_ARROW_AND_FST = sig ... endRMinimal definition using arrow, fst, neutral and combine.
module type WITH_ARROW_AND_SPLIT = sig ... endMinimal definition using arrow, split, neutral and combine.
module type CORE = sig ... endBasis operations.
module type OPERATION = sig ... endAdditional operations.
module type ALIAS = Arrow.ALIASAliases of some operations functions.
module type INFIX = Arrow_alt.INFIXInfix operators.
module type API = sig ... endThe complete interface of an Arrow_plus.