sig
  type ('a, 'b, 'c, 'd) named
  type a
  val a : Std_internal.Typerep.Named.T4.a Std_internal.Typerep.t
  type b
  val b : Std_internal.Typerep.Named.T4.b Std_internal.Typerep.t
  type c
  val c : Std_internal.Typerep.Named.T4.c Std_internal.Typerep.t
  type d
  val d : Std_internal.Typerep.Named.T4.d Std_internal.Typerep.t
  type t
  val typename_of_named :
    'Typename.t ->
    'Typename.t ->
    'Typename.t ->
    'Typename.t ->
    ('a, 'b, 'c, 'd) Std_internal.Typerep.Named.T4.named Typename.t
  val typename_of_t : Std_internal.Typerep.Named.T4.t Typename.t
  val witness :
    (Std_internal.Typerep.Named.T4.t,
     (Std_internal.Typerep.Named.T4.a, Std_internal.Typerep.Named.T4.b,
      Std_internal.Typerep.Named.T4.c, Std_internal.Typerep.Named.T4.d)
     Std_internal.Typerep.Named.T4.named)
    Type_equal.t
end