functor (X : sig type 'a t end) ->
sig
module type S0 =
sig
type t
val typerep_of_t : t Std_internal.Typerep.t
val typename_of_t : t Typename.t
val compute : Type_generic_intf.M.S0.t X.t
end
module type S1 =
sig
type 'a t
val typerep_of_t :
'a Std_internal.Typerep.t -> 'a t Std_internal.Typerep.t
val typename_of_t : 'a Typename.t -> 'a t Typename.t
val compute : 'a X.t -> 'a Type_generic_intf.M.S1.t X.t
end
module type S2 =
sig
type ('a, 'b) t
val typerep_of_t :
'a Std_internal.Typerep.t ->
'b Std_internal.Typerep.t -> ('a, 'b) t Std_internal.Typerep.t
val typename_of_t :
'a Typename.t -> 'b Typename.t -> ('a, 'b) t Typename.t
val compute :
'a X.t -> 'b X.t -> ('a, 'b) Type_generic_intf.M.S2.t X.t
end
module type S3 =
sig
type ('a, 'b, 'c) t
val typerep_of_t :
'a Std_internal.Typerep.t ->
'b Std_internal.Typerep.t ->
'c Std_internal.Typerep.t -> ('a, 'b, 'c) t Std_internal.Typerep.t
val typename_of_t :
'a Typename.t ->
'b Typename.t -> 'c Typename.t -> ('a, 'b, 'c) t Typename.t
val compute :
'a X.t ->
'b X.t -> 'c X.t -> ('a, 'b, 'c) Type_generic_intf.M.S3.t X.t
end
module type S4 =
sig
type ('a, 'b, 'c, 'd) t
val typerep_of_t :
'a Std_internal.Typerep.t ->
'b Std_internal.Typerep.t ->
'c Std_internal.Typerep.t ->
'd Std_internal.Typerep.t ->
('a, 'b, 'c, 'd) t Std_internal.Typerep.t
val typename_of_t :
'a Typename.t ->
'b Typename.t ->
'c Typename.t -> 'd Typename.t -> ('a, 'b, 'c, 'd) t Typename.t
val compute :
'a X.t ->
'b X.t ->
'c X.t -> 'd X.t -> ('a, 'b, 'c, 'd) Type_generic_intf.M.S4.t X.t
end
module type S5 =
sig
type ('a, 'b, 'c, 'd, 'e) t
val typerep_of_t :
'a Std_internal.Typerep.t ->
'b Std_internal.Typerep.t ->
'c Std_internal.Typerep.t ->
'd Std_internal.Typerep.t ->
'e Std_internal.Typerep.t ->
('a, 'b, 'c, 'd, 'e) t Std_internal.Typerep.t
val typename_of_t :
'a Typename.t ->
'b Typename.t ->
'c Typename.t ->
'd Typename.t -> 'e Typename.t -> ('a, 'b, 'c, 'd, 'e) t Typename.t
val compute :
'a X.t ->
'b X.t ->
'c X.t ->
'd X.t ->
'e X.t -> ('a, 'b, 'c, 'd, 'e) Type_generic_intf.M.S5.t X.t
end
end