Я думаю, вам нужно объявить вашу функцию динамически связанной, например,
(def ^:dynamic my-function
(fn [x] .....))
Причина этого в том, что если вы явно не запросите динамический var, Clojure (версии 1.3 и выше) сделает его нединамичным для оптимизации производительности.