Structure and Interpretation of computer programs - Solutions to exercises