Run-time behaviour of `TypeAliasType

I touched on this a bit in my earlier messages in the thread. The type statement adds two unique capabilities: lazy evaluation and the use of unambiguously scoped type variables. Both of those capabilities don’t play well with use in isinstance().

I don’t particularly like the fact that isinstance() works with unions, but removing that behavior would be a compatibility break and I don’t see a strong case for doing so.

2 Likes