I think it's ready for the next stage, actually submitting a PR for the peps repo. Once that passes tests I will merge it, at which point we should update the Post-history header. (I have a few nits that are best handled in the PR stage.)

May 2021 be an improvement over 2020,


On Sun, Dec 27, 2020 at 10:02 AM Eric Traut <> wrote:
I hope everyone's having an enjoyable, relaxing, and healthy holiday season!

I've updated the [draft PEP]( to incorporate the feedback.

* I updated the PEP number and added Guido as the sponsor.
* Sebastian was interested in more examples of a multi-parameter type guard functions, so I added a second example (`is_set_of`, which also demonstrates that type guard functions can be generic).
* I added more details in the "rejected ideas" section about a decorator-based syntax that was considered but abandoned.
* I added an extensive justification in the "rejected ideas" section for why I don't think we should enforce any strict narrowing requirements, including the looser form that Guido proposed. Guido, if you disagree with my reasoning here, let's discuss further.
* I added text in the "rejected ideas" section explaining why we decided not to support the narrowing of arbitrary parameters and always assume the first parameter is the value being narrowed. I mention in this section that we could extend the PEP in the future if this becomes important.
* I added text in the "rejected ideas" section explaining why we are not providing any special mechanism for narrowing the implied "self" or "cls" parameters in instance/class methods.

Eric Traut
Contributor to Pyright and Pylance
Microsoft Corp.
Typing-sig mailing list --
To unsubscribe send an email to
Member address:

--Guido van Rossum (
Pronouns: he/him (why is my pronoun here?)