Many thanks go to Joe Warren, Matthias Felleisen, Michael Ernst, Matthew Flatt, and Robby Findler for their invaluable help.