On Fri, Jul 31, 2020 at 12:09 PM Mark Mendoza <mendoza.mark.a@gmail.com> wrote:
Hi Rebecca & Guido,

> Hm, why a submodule at all?

I opted for a submodule in anticipation of future operators such as `Map`, which I thought might be confusing if were just at the top-level of `typing`.  I don't have strong opinions on this, and am happy to go with either `typing.operators.Concatenate` or just `typing.Concatenate`.
My concern was mainly that a long submodule name would be tedious to use when importing, etc., so either typing.operators.Concatenate or typing.Concatenate seems reasonable to me. Personally, I would slightly lean towards having the submodule if there are likely to be future operators.

>  It is indeed an inconsistency. But how else would you spell it?

I totally agree with this explanation.  Rebecca, do you think there's a way to modify the PEP to make this aspect less confusing?
I had to read the explanation a few times, but I think I get it now: P.args and P.kwargs don't always refer to the same subsets of the arguments, so there's no fixed contained type they could represent. Maybe to be helpful, the PEP could briefly explain this? "Because [reason], args has the type P.args inside the function..."

> I think it would be useful to include an example of how such a class is constructed,

> The 2nd and 3rd I'll leave for Mark to fix.

I added the requested example and fixed the two typos in this PR: https://github.com/python/peps/pull/1545

Thanks for the feedback!

Typing-sig mailing list -- typing-sig@python.org
To unsubscribe send an email to typing-sig-leave@python.org
Member address: rechen@google.com