Solutions to the Structure and Interpretation of Computer Programs (MIT Press, second edition, 1996)