val order : 'a t -> 'b t -> ('a, 'b) orderval lift_eq : ('a, 'b) eq -> ('a t, 'b t) eqmodule type T = sig ... endmodule Nth (N : sig ... end) : Tval nth : int -> (module T)val add : 'a t -> 'b t -> ('a, 'b) sum tval sum_comm : (('a, 'b) sum, ('b, 'a) sum) eqval mul : 'a t -> 'b t -> ('a, 'b) prod t