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