Я могу ошибаться, но думаю, что вы не можете прикрепить метаданные к числу:
user=> (with-meta 1 {:meta-tag "foo"})
java.lang.ClassCastException: java.lang.Integer cannot be cast to clojure.lang.IObj
Из документов
"Символы и коллекции поддерживают метаданные, карта данных о символе или коллекции. "
Это, кажется, работает:
user=> {:a (with-meta 'foo {:meta-tag "foo"})}
{:a foo}
И
user=> (meta (:a {:a (with-meta 'foo {:meta-tag "foo"})}))
{:meta-tag "foo"}