Util.CMPProduct
Cartesian product of two comparable types.
module X : Sig.COMPARABLE
module Y : Sig.COMPARABLE
type t = X.t * Y.t
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool