sig   val name : 'a Type.t -> string   val module_name : string   val structural_descr : Structural_descr.t -> Structural_descr.t   type 'a t   val reprs : 'a -> 'a Type.Polymorphic_input.t list end