Somewhat relatedly, a very common mistake in Lisp is modifying literals; a lot
of people don't realise that there's a difference between writing '(a b c) and
writing (list 'a 'b 'c), but QUOTE's description in the spec plainly says "The
consequences are undefined if literal objects (including quoted objects) are
destructively modified." To demonstrate the difference in practice (DELETE is
the destructive version of REMOVE):
CL-USER> (defun abc-without (letter) (delete letter '(a b c)))
ABC-WITHOUT
CL-USER> (abc-without 'a)
(B C)
CL-USER> (abc-without 'b)
(A C)
CL-USER> (abc-without 'c)
(A)
This behaves strangely because it modifies the constant list (A B C) rather
than consing up a new one on each invocation (like calling LIST or COPY-SEQ
would), so by the end the list it passes to DELETE has been reduced to (A).