definindo setf-expanders em Common Lisp

Aqui está a coisa: eu não "pego" setf-expanders e gostaria de aprender como eles funcionam.

Eu preciso aprender como eles funcionam porque eu tenho um problema que parece ser um exemplo típico de por que você deve aprender setf-expanders, o problema é o seguinte:

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

Como faço para escrever um setf-expander adequado para ARR-INDEX?

questionAnswers(2)

yourAnswerToTheQuestion