re: . . . We found that &REST CONSing was
taking time and space we couldn't afford (the things it was doing to
the freelist! :-)
You didn't say what implementation of Common Lisp you were using. Some
do ordinary CONSing for &rest lists; some do "stack allocation"; and finally
others offer a DYNAMIC-EXTENT declaration so that you can choose, on a
per-function basis.