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