sig
  type _ t =
      T2 :
        ('Std_internal.Typerep.t * 'Std_internal.Typerep.t) -> ('a * 'b)
                                                                   Std_internal.Typerep.Tuple.t
    | T3 :
        ('Std_internal.Typerep.t * 'Std_internal.Typerep.t *
         'Std_internal.Typerep.t) -> ('a * 'b * 'c)
                                       Std_internal.Typerep.Tuple.t
    | T4 :
        ('Std_internal.Typerep.t * 'Std_internal.Typerep.t *
         'Std_internal.Typerep.t * 'Std_internal.Typerep.t) -> ('a * 'b *
                                                                    'c * 'd)
                                                                   Std_internal.Typerep.Tuple.t
    | T5 :
        ('Std_internal.Typerep.t * 'Std_internal.Typerep.t *
         'Std_internal.Typerep.t * 'Std_internal.Typerep.t *
         'Std_internal.Typerep.t) -> ('a * 'b * 'c * 'd * 'e)
                                       Std_internal.Typerep.Tuple.t
  val arity : 'Std_internal.Typerep.Tuple.t -> int
  val typename_of_t : 'Std_internal.Typerep.Tuple.t -> 'Typename.t
end