DELETE jest destrukcyjne - ale nie zawsze?

Jestem trochę zmieszany z powodu destrukcyjnej funkcji DELETE Common Lispa. Wydaje się, że działa zgodnie z oczekiwaniami, z wyjątkiem sytuacji, gdy jest to pierwszy element na liście:

CL-USER> (defvar *test* (list 1 2 3))
*TEST*
CL-USER> (delete 1 *test*)
(2 3)
CL-USER> *test*
(1 2 3)
CL-USER> (delete 2 *test*)
(1 3)
CL-USER> *test*
(1 3)

questionAnswers(3)

yourAnswerToTheQuestion