Tomasz Nurkiewicz: Promises and futures in Clojure