@Swifty, wouldn't such use of zip create a list -- rather than an iterator? The input sequence of rows here can be very long -- I don't want to store it all in memory...
zip