functor (X : Named_intf.S4->
  sig
    val named :
      'Std_internal.Typerep.t ->
      'Std_internal.Typerep.t ->
      'Std_internal.Typerep.t ->
      'Std_internal.Typerep.t ->
      ('a, 'b, 'c, 'd) X.t Std_internal.Typerep.Named.t
    val typename_of_t :
      'Typename.t ->
      'Typename.t ->
      'Typename.t -> 'Typename.t -> ('a, 'b, 'c, 'd) X.t Typename.t
  end