Exercises from the SICP book