Module type Semigroupoid.WITH_COMPOSE

Minimal interface using id and compose.

type ('a, 'b) t

The type held by the Category.

val compose : ('b, 'c) t -> ('a, 'b) t -> ('a, 'c) t

Morphism composition (from right to left).