fix bug in intersection canonicalization spotted by Ross
(It's possible that T could be a supertype of X&Y even if it's not a
supertype of X nor of Y!)