sig type 'a poly = 'a option val instantiate : 'a t -> 'a poly t val is_instance_of : 'a t -> bool val get_instance : 'a poly t -> 'a t end