SICP/chapter_3: exercise 1-8