SICP excercise 1.2