Error handling for recursive TypeVar defaults (PEP 696) (#16925)
This PR adds some additional error handling for recursive TypeVar
defaults.
Open issue for future PRs:
- Expanding nested recursive defaults, e.g. `T2 = list[T1 = str]`
- Scope binding, especially for TypeAliasTypes
Ref: https://github.com/python/mypy/issues/14851