definiendo setf-expansores en Common Lisp

Aquí está la cosa: no "entiendo" a los setf-expansores y me gustaría aprender cómo funcionan.

Necesito aprender cómo funcionan porque tengo un problema que parece ser un ejemplo típico de por qué debería aprender setf-expanders, el problema es el siguiente:

(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)

¿Cómo escribo un setf-expander adecuado para ARR-INDEX?

Respuestas a la pregunta(2)

Su respuesta a la pregunta