examples from <Practical Common Lisp>