Representação de entidades de domínio com mapas
Para representar informações de domínio com um conjunto de campos conhecidos antecipadamente, utiliza-se frequentemente maps com keywords como chaves.
Exemplo de entidade:
(def person
{:first-name "Kelly"
:last-name "Keen"
:age 32
:occupation "Programmer"})
As operações de manipulação de maps com assoc e dissoc funcionam normalmente nessas entidades para adicionar, modificar ou remover campos.
Referências
https://clojure.org/guides/learn/hashed_colls#_representing_application_domain_information