SICP, Problem 2.59