sicp ~p37