Try to avoid overconstraining when comparing and/or types

Review by @smarter
Typo: s/constaint/constraint