Clojure comonads