If I did not read this question correctly, you could:
class A:BaseClass{} class B:BaseClass{}
For T = A and U = B, both restrictions are happy, but distinct from T to U are clearly invalid.
If U is another class, then it applies anyway; T, as you know, is not in the same chain as U unless you specify it in the constraints (general constraints may include other general arguments of the type, if that helps).
source share