definiowanie ekspanderów setf w Common Lisp

Oto rzecz: nie „dostaję” ekspanderów setf i chciałbym się dowiedzieć, jak działają.

Muszę dowiedzieć się, jak działają, ponieważ mam problem, który wydaje się typowym przykładem, dlaczego powinieneś nauczyć się setf-expanders, problem jest następujący:

(defparameter some-array (make-array 10))

(defun arr-index (index-string)
  (aref some-array (parse-integer index-string))

(setf (arr-index "2") 7) ;; Error: undefined function (setf arr-index)

Jak napisać odpowiedni ekspander setf dla ARR-INDEX?

questionAnswers(2)

yourAnswerToTheQuestion