Typing Extensions – Backported and Experimental Type Hints for Python

The typing_extensions module serves two related purposes:

- Enable use of new type system features on older Python versions. For
  example, `typing.TypeGuard` is new in Python 3.10, but
  typing_extensions allows users on previous Python versions to use it
  too.
- Enable experimentation with new type system PEPs before they are
  accepted and added to the typing module.

typing_extensions is treated specially by static type checkers such as
mypy and pyright. Objects defined in typing_extensions are treated the
same way as equivalent forms in typing.
