@sig(H/ [("a", "b", "c", "d")] >> (["a"], ["b"], ["c"], ["d"]))
def unzip4(xs):
    """
    unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])

    The unzip4 function takes a list of quadruples and returns four lists,
    analogous to unzip.
    """
    a = L[(i[0] for i in xs)]
    b = L[(i[1] for i in xs)]
    c = L[(i[2] for i in xs)]
    d = L[(i[3] for i in xs)]
    return a, b, c, d
dataset/ETHPy150Open billpmurphy/hask/hask/Data/List.py/unzip4/original