Subtype improvements

Not for reviewing yet (I just want to run the tests)