sig   val name : 'Type.t -> 'Type.t -> 'Type.t -> 'Type.t -> string   val module_name : string   val structural_descr :     Structural_descr.t ->     Structural_descr.t ->     Structural_descr.t -> Structural_descr.t -> Structural_descr.t   type ('a, 'b, 'c, 'd) t   val reprs :     '-> '-> '-> '-> ('a, 'b, 'c, 'd) Type.Polymorphic4_input.t list end