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