One small comment on this part of the thread:
Yes, using an API that produces an infinite iterator with a "strict" version of zip() would be, well, bad.
But it would fail the very first time it was used. I can't see how encouraging people to use a strict version of zip() would require that folks not create APIs that return infinite iterators -- some users might get a failure the first time they try to use it, and then they'd fix their code. No problem there.
And "shortest" would remain the default, so I doubt it would be common for folks to use the "strict" version without thinking -- this is really a non-issue.
-CHB