On Wed, May 6, 2020, 9:53 PM Eric Fahlgren <ericfahlgren@gmail.com> wrote:
On Wed, May 6, 2020 at 6:27 PM David Mertz <mertz@gnosis.cx> wrote:
I don't think being a function versus a classmethod is important here.  Just that the underlying name is *callable*.

But wait a minute, zip isn't just a "callable", it's a class, and adding more methods to it seems perfectly natural, just like lots of other built-in classes.

Zip is a class in CPython 3.8. it may or may not be in other implementations or versions. The API users are currently promised says nothing about it needing to be implemented as a class.

Moreover, even if Python 3.9 decides to make zip() a function instead, that wouldn't prevent the alternate constructors being implemented.