xercises and problems in the Structure and Interpretation of Computer Programs