SICP ~q1.5