Preface_specs.SemigroupoidA Semigroupoid is Category without the identity.
To have a predictable behaviour, the instance of Semigroupoid must obey one law.
f % (g % h) = (f % g) % hmodule type WITH_COMPOSE = sig ... endMinimal interface using id and compose.
module type CORE = WITH_COMPOSEBasis operations.
module type OPERATION = sig ... endAdditional operations.
module type INFIX = sig ... endInfix operators.
module type API = sig ... endThe complete interface of a Semigroupoid.