If one wants to include a functor signature in another...

module type EQ = sig
  type t
  val eq : t * t -> bool
end

module type EQ_PROD = functor (X : EQ) (Y : EQ) ->
sig
    type t = X.t * Y.t
    val eq : t * t -> bool
  end

module type ORD = sig
  include EQ
  val lt : t * t -> bool
end

module type LT_PROD = functor (X : EQ) (Y : EQ) ->
sig
  include EQ_PROD (*What do I say here?*)
end

​... How does one do that? Is there a syntax for this sort of thing?​

--
Shayne Fletcher