Port of clojure/core.async to ClojureCLR