functor (X : Sig.COMPARABLE->
  functor (Y : Sig.COMPARABLE->
    sig
      type t = X.t * Y.t
      val compare : t -> t -> int
      val hash : t -> int
      val equal : t -> t -> bool
    end