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.