Function.Category
include Interface.SEMIGROUPOID
type ('a, 'b) t
val compose : ('b, 'c) t -> ('a, 'b) t -> ('a, 'c) t
val id : ('a, 'a) t