@sig(H/ (H/ "a" >> "a" >> Ordering) >> ["a"] >> "a")
def minimumBy(f, xs):
    """
    minimumBy :: (a -> a -> Ordering) -> [a] -> a

    The minimumBy function takes a comparison function and a list and returns
    the least element of the list by the comparison function. The list must be
    finite and non-empty.
    """
    return min(xs, key=f)


#=============================================================================#
## The "generic" operators
dataset/ETHPy150Open billpmurphy/hask/hask/Data/List.py/minimumBy/original