Это макро-магия.Форма (setf place value) - не что иное, как специализированное расширение макроса.Например, (setf (car x) 42) можно перевести как-то так: (rplaca x 42).
Вы можете увидеть, как ваша реализация на Лиспе расширяет форму SETF с помощью MACROEXPAND, вот так (мой примериспользует SBCL, другие реализации могут иметь совершенно разные расширения):
CL-USER> (macroexpand '(setf (aref foo 10) 1234))
(SB-KERNEL:%ASET FOO 10 1234)
T
Вы также можете определить свои собственные расширения:
CL-USER> (defvar *value* 0)
*VALUE*
CL-USER> (defun get-value () *value*)
GET-VALUE
CL-USER> (defun (setf get-value) (x) (setq *value* x))
(SETF GET-VALUE)
CL-USER> (setf (get-value) 42)
42
CL-USER> (get-value)
42
CL-USER> (macroexpand '(setf (get-value) 23))
(LET* ()
(MULTIPLE-VALUE-BIND (#:NEW1058) 23 (FUNCALL #'(SETF GET-VALUE) #:NEW1058)))
T