Como garantir que uma lista de associações mantenha chaves exclusivas no Emacs

Dada a frequência com que as chaves são adicionadas às listas de associações, comoauto-mode-alist, Presumo que exista algum método idiomático para manter listas de associação com chaves exclusivas, mas ainda não o encontrei.

Digamos que eu execute o seguinte:

(setq alist '())
(add-to-list 'alist '(a . 1))
(add-to-list 'alist '(a . 2))
(add-to-list 'alist '(b . 3))

Depois de executar isso, alist contém((b . 3) (a . 2) (a . 1)). eu vejo issoadd-to-list pode levar um opcionalcompare-fn, então presumo que exista algum método que eu poderia passar para obter((b . 3) (a . 1)) como resultado. Também estou ciente de que poderia usar tabelas de hash para isso, mas estava curioso para saber como fazê-lo linguisticamente com uma lista de associações.

questionAnswers(2)

yourAnswerToTheQuestion