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?