Util.OTProduct
Cartesian product of two ordered types.
module X : Sig.ORDERED_TYPE
module Y : Sig.ORDERED_TYPE
type t = X.t * Y.t
val compare : t -> t -> int