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

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