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