set!
ಠ_ಠ
``viewing systems as collections of objects with local state is a powerful technique for maintaining a modular design''
1
Duh, I know, but I wanted to keep it simple and use a minimal part of Scheme.
Because abstraction and building upon previous work are worthless concepts? Why don't you write it in brainfuck?
If you didn't have so much redundancy you wouldn't have the bug in
(cons current dst).
Of course, checking if you're asked the impossible is just a nicety.
1 http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-20.html#%_sec_3.1.2