https://danreynolds.ca/images/tech/push-pull.png
Asynchronous iterators / observables are so much more useful that synchronous iterators that they should've added that to the standard first.
Wouldn't it be wonderful if ESnext allowed you to write event loops that maintain state with block scope variables instead of all the hacks we have to resort to now?
EDIT: RxJS is mentioned in the README. What I like about this is that it doesn't try to implement the kitchen sink and is a fairly atomic dependency. Now if we could just get to where we don't need transpilers anymore, that would be nice.