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