Any Python program that uses annotations now must use them as this PEP specifies, unless they use the
@typing.no_type_check decorator. In other words, PEP 3107 is overridden. Note that PEP 3107 did anticipate that something like PEP 484 would happen.
I have observed that code written using the new
typing module always follows a distinct dialect, both syntactically and stylistically. This is quite similar to the way Python2 and Python3 are dialects of Python, and sometimes require different advice in a review. Likewise, some people might prefer to avoid one dialect or another, but this new dialect is blessed by the BDFL.
Obviously, there is not a lot of experience with this module because it's only standardized in Python 3.5, which is still not released. However, with a third-party backport of the
typing module, it works for Python 3.2, and there is even experimental support for Python 2.7 (either using
# type: comments or using a codec to strip the annotations).
The mypy project was the motivator for the PEP and is the current focus for activity that uses the annotations for type-checking.