@sig(H/ (H/ "a" >> "b" >> "c" >> "d" >> "e" >> "f") >>
        ["a"] >> ["b"] >> ["c"] >> ["d"] >> ["e"] >> ["f"])
def zipWith5(fn, a, b, c, d, e):
    """
    zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e]
                -> [f]

    The zipWith5 function takes a function which combines five elements, as
    well as five lists and returns a list of their point-wise combination,
    analogous to zipWith.
    """
    return L[(fn(*s) for s in zip5(a, b, c, d, e))]
dataset/ETHPy150Open billpmurphy/hask/hask/Data/List.py/zipWith5/original