Functional data structures in Common Lisp