Example and exercises from the SICP book