Maps a binary function over a sequence. The function is applied to each item
    and the item after it until the last item is reached.

def lazy_binmap(f, xs):
    """
    Maps a binary function over a sequence. The function is applied to each item
    and the item after it until the last item is reached.
    """
    return (f(x, y) for x, y in zip(xs, xs[1:]))