Continuation passing style is a powerful technique that
allows you to abstract over control flow in your program. Here is a
simple example: We want to look things up in a table, but sometimes
the key we use is not associated with any value. In that case, we
have to do something different, but the lookup code doesn't know
what the caller wants to do, and the caller doesn't know how the
lookup code works. Typically, we would arrange for...