Types like TypeVar('T', Foo) don't make sense since you can always replace them with just Foo. Although type vars with the only constraint don't break anything, they look really confusing and send the wrong message about using TypeVar. Issue #39 is a good example of this problem.