This is a backport of the standard library typing module to Python versions
older than 3.5.
Typing defines a standard notation for Python function and variable type
annotations. The notation can be used for documenting code in a concise,
standard format, and it has been designed to also be used by static and runtime
type checkers, static analyzers, IDEs and other tools.
from rpe@, committing on his behalf