Fixes type hierarchy comparison operators
Moves typecompare logic back into Type superclass
Adds additional type tests