Функция append соединяет два или более списков-аргументов в один.
Её примерное определение иллюстрирует распространенный
приём:
"консить" результат по ходу прохождения одного из аргументов.
(defun append2 (list1 list2) (if (null list1) list2 (cons (first list1) (append2 (rest list1) list2))))
Исходные списки не портятся.