In my previous post, I explored how programming with promises can be made close to programming with values. After some more work on it, and some learning from bluebird, I came to conclude that my brain doesn’t think well with promises. So I wrote a macro for Javascript that expands “tasks” into async state machines that communicate using channels (i.e. CSP). I want to talk about the specific optio