Module type Interface.SEMIGROUPOID

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