This is a really nice alternative to Promises, which I have grown to really love in the last few months - especially since bluebird (https://github.com/petkaantonov/bluebird) handles errors really sanely.
It takes a lot of getting used to but it is really, really nice to be able to surround error-prone code in what amounts to a try/catch, with a single catch that can (like Java) branch based on error type.
For a second it feels like sync programming.
As cool as ICS is, I strongly prefer the yield syntax to the await/defer syntax. It's a single keyword and it's much more obvious where the value is coming from. Plus, it's going to be everywhere soon.
At keybase, do you guys intend to continue with ICS or eventually move to ES6?