module OTProduct (X : sig ... end) (Y : sig ... end) : sig ... endmodule HTProduct (X : sig ... end) (Y : sig ... end) : sig ... endmodule CMPProduct (X : sig ... end) (Y : sig ... end) : sig ... endmodule DataV (L : sig ... end) (V : sig ... end) : sig ... endmodule Memo (X : sig ... end) : sig ... end