Code from the book "Essentials of Programming Languages", 3rd ed. by Friedman and Wand