-
Andrei Paskevich authored
lskept: the old selection check required at least one non-variable non-closed type in the lsymbol's signature. This is too permissive, because (list_match : list 'a -> 'b -> 'b) is allowed and will produce an instance for every type in the "inst" set. The new check requires that all freely standing type variables occur under a type constructor elsewhere in the lsymbol's signature. lsinst: accept any monomorphic instance of any polymorphic symbol except equality. The old procedure applied the same restrictions as for the "lskept" set which serve no real purpose for "lsinst".
de46b1a1