1. let f = {};
    2. f.zip = (...xs) => {
    3. let r = [];
    4. let length = Math.min.apply(null, xs.map(x => x.length));
    5. xs.forEach(
    6. x => nple.push(x[i])
    7. );
    8. r.push(nple);
    9. }
    10. return r;
    11. };
    12. f.zipWith = (op, ...xs) =>
    13. f.zip.apply(null, xs).map(
    14. (x) => x.reduce(op)