functor (Comp : Comp) -> sig type t = Comp.t val compare : t comp end