exercise 1.23.scm