I guess that&#x27;s true - core.async adds a lot of stuff you don&#x27;t want for something as simple as futures&#x2F;promises.<p>I wish ClojureScript guys would abstract &#x27;go&#x27; macro from core.async in to the clojurescript core, provide well documented protocols that it uses and include implementation for JS Promises by default (then leave core.async to expose chans for those who need channels trough those protocols).<p>Hell if I knew they wouldn&#x27;t be against doing this I might even do it my self in a few weeks.<p>Considering the async nature of JS it makes sense to provide such a construct as a part of language&#x2F;standard library.