Try to avoid overconstraining when comparing and/or types

Review by @smarter
Should we have a "eitherIsNewSubType" or is that not necessary?