The Code

The correctness of the code contained herein is not vouched for until the I get to edit it (shortly after I return from LA on July 25). In particular, there are still a few chez-isms lurking in the code which I hope to remove when I return. Everything should be otherwise correct, but you know how these things work.