lisp comum: valor de slot para estruturas de desfiguração

Em comum lisp, o que posso usar para acessar o slot da estrutura usando o nome / símbolo do slot?

O que eu quero é

(defstruct point (x 0) (y 0))    
(defmacro -> (struct slot) `(slot-value ,struct ,slot))

(setf p (make-point))
(setf (slot-value p 'x) 1)
(setf (-> p 'y) 2)

Estou usando o clozure cl, e no clozure cl isso funciona. No entanto, o AFAIK é um comportamento não padrão (equivalente ao "comportamento indefinido" do C ++). Eu não estou planejando mudar para outra implementação de CL, então devo continuar usandoslot-value para estruturas, ou há uma maneira melhor de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion