But then the problem is that you can't e.g. (setcar (append '(0) '(1)) t) without it looking like the program is modifying a constant list. -- Basil