functor (S : S) -> sig type 'a t = S.t type comparator = S.comparator val comparator : ('a t, comparator) t_ end