def zip(*args, **kwargs):
args = [list(iterable) for iterable in args]<EOL>n = max(map(len, args))<EOL>v = kwargs.get("<STR_LIT:default>", None)<EOL>return _zip(*[i + [v] * (n - len(i)) for i in args])<EOL>
Returns a list of tuples, where the i-th tuple contains the i-th element 
        from each of the argument sequences or iterables (or default if too short).