Run-time behaviour of `TypeAliasType

type MyStr = str

assert MyStr is str
assert get_alias_name(MyStr) == get_alias_name(MyStr)
assert get_alias_name(MyStr) != get_alias_name(str)

I don’t see how any sane semantics for get_alias_name could be implemented so that it can make a distinction between MyStr and str, despite the object those two names refer to being the exact same.

Or do you mean something else? If so, please explain more concretely than “or something”.