Exercise 1.16 in Guile Scheme
Exercise 1.16 in Common Lisp
Exercise 1.16 in Emacs Lisp