A working version using continuation.

- SBCL doesn't optimize the tail calls, though. Shame.