zip short to long to avoid string length problems

If you zip a longer array into a shorter array, the excess elements in
the longer array are discarded.

Using this we can avoid problems where one string is longer than the
other. Though it's a little awkward now, it's still better than the
previous code.