and this is what it would look like in coffeescript. I guess using core.async is nice and all, but if we're compliing to javascript why not write it in far fewer lines?