sig   type ('a, 'b, 'c, 'd) poly   val instantiate :     'Type.t ->     'Type.t ->     'Type.t ->     'Type.t -> ('a, 'b, 'c, 'd) Type.Polymorphic4.poly Type.t * bool   val is_instance_of : 'Type.t -> bool   val get_instance :     ('a, 'b, 'c, 'd) Type.Polymorphic4.poly Type.t ->     'Type.t * 'Type.t * 'Type.t * 'Type.t end