SICP section 2.2.1