On Wed, Apr 22, 2020, 4:24 AM Antoine Pitrou 
But, as far as I'm concerned, the number of times where I took advantage of zip()'s current acceptance of heteregenously-sized inputs is extremely small.  In most of my uses of zip(), a size difference would have been a logic error that deserves noticing and fixing.

Your experience is very different from mine.

The number of times I zip differently "sized" iterators is almost surely more than 50%.

The pattern Steven points to of one or more iterator being infinite is very common. But so is the case of one merely being large enough to (hopefully) match with everything in the others, but no harm in discarding extras.