Pourquoi ne Clojure ont 5 façons de définir une classe au lieu d'un seul?

Clojure a gen-classe, réification, proxy et aussi deftype et defrecord pour définir une nouvelle classe-comme les types de données. Pour une langue que les valeurs syntaxiques simplicité et abhorre la complexité inutile, il semble comme une aberration.
Quelqu'un pourrait-il expliquer pourquoi il en est ainsi? Pourrait Common Lisp-style classe de déf. active ont suffi?

InformationsquelleAutor Salil | 2011-08-22