SICP exercise 1.19