sig
type 'a t
module type S0 =
sig
type t
val typerep_of_t : t Std_internal.Typerep.t
val typename_of_t : t Typename.t
val compute : t 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 t -> 'a t 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 t -> 'b t -> ('a, 'b) t 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 t -> 'b t -> 'c t -> ('a, 'b, 'c) t 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 t -> 'b t -> 'c t -> 'd t -> ('a, 'b, 'c, 'd) t 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 t -> 'b t -> 'c t -> 'd t -> 'e t -> ('a, 'b, 'c, 'd, 'e) t t
end
end