Module type Category.WITH_ID_AND_COMPOSE

Minimal interface using id and compose.

type ('a, 'b) t

The type held by the Category.

include WITH_ID with type ('a, 'b) t := ( 'a, 'b ) t
val id : ( 'a, 'a ) t

The identity morphism.

include Semigroupoid.WITH_COMPOSE with type ('a, 'b) t := ( 'a, 'b ) t
val compose : ( 'b, 'c ) t -> ( 'a, 'b ) t -> ( 'a, 'c ) t

Morphism composition (from right to left).