(defun user-reverse (l &optional result) (if (endp l) result (user-reverse (rest l) (cons (first l) result)))) (defun bad-reverse (l) (if (endp l) nil (append (bad-reverse (rest l)) (list (first l)))))