If two Iterables aren't the same size, then zipAll can provide fillers for what it couldn't find a complement for.
Iterables
zipAll
e.g. Iterable(x1, x2, x3) zipAll (Iterable(y1, y2), x, y) will return ((x1,y1), (x2, y2), (x3, y))):
Iterable(x1, x2, x3) zipAll (Iterable(y1, y2), x, y)
((x1,y1), (x2, y2), (x3, y)))