Setf expansão estranha

Tentando entender o que setfposso fazer, liguei para (macroexpand '(setf (aref vec i) val)) ⇒ (let* ((v vec) (v i)) (aset v v val)) Isso parece obviamente errado. No entanto, não consegui criar uma instância real em que (setf (aref ..falha. Por exemplo (setq vec (make-vector 10 nil) i 3 val...