SICP practice 1.3