Working sicp examples 1.6 - 1.7. 1.8 is broken