Major pass through type checker:(1) prioritizing equalities, (2) improved Derived mechanism, (3) bugfixes