It makes sense when you think about it—a zip cannot progress any further than any one of its streams, so the zipped stream must have as many elements as the _shortest_.