Existuje viacero riešení. Jedným z nich, je prechádzať zoznam rekurzívne a výsledný zoznam vytvárať až keď sa bude z rekurzie vychádzať, teda až po rekurzívnom kroku.
(defun obraz (zoz)
(cond ((null zoz) NIL)
(T (append (cons (first zoz) (obraz (rest zoz))) (cons (first zoz) NIL)))
)
)
; Príklady:
(obraz '(A B C)) ; -> (A B C C B A)
(obraz '(1 (2))) ; -> (1 (2) (2) 1)