while PEP-3333 declared as "final" (not sure if it means the same as "accepted"), I would like to draw your attention at this bug report.
Personally, I'd like to fix PEP in the way it resolves mentioned bug. But if you disagree with me, I'd like at least to add note about statements like:
"object A should be of type TA"
It's not common behavior for Python objects, and in some meaning it just breaks OOP in Python (see Liskov substitution principle). Isn't this looks like unpythonic or at least as leaking abstraction?