This PR fixes the behavior of unify so that it only instantiates unassigned TyVars and doesn't try to infer the upcasting of types. As a result, some of the test cases in Primitive_test.py becomes untypeable.
Also, this PR makes list/dict types invariant by adding a subtyping check in join.
This PR fixes the behavior of
unify
so that it only instantiates unassignedTyVar
s and doesn't try to infer the upcasting of types. As a result, some of the test cases in Primitive_test.py becomes untypeable.Also, this PR makes list/dict types invariant by adding a subtyping check in
join
.