# Module type Typerepable.S4

    module type S4 = sig .. end

    type ('a, 'b, 'c, 'd) t

    val typerep_of_t : 'a Std_internal.Typerep.t ->
           'b Std_internal.Typerep.t ->
           'c Std_internal.Typerep.t ->
           'd Std_internal.Typerep.t ->
           ('a, 'b, 'c, 'd) t Std_internal.Typerep.t

    val typename_of_t : 'a Typename.t ->
           'b Typename.t ->
           'c Typename.t ->
           'd Typename.t -> ('a, 'b, 'c, 'd) t Typename.t