Post

The use I have for generators is similar to MobX `flow` to collect promises. It is a reasonable API for `transitions`. The challenges are: 1. No one understands generators 2. Their composition is trickier than async 3. If you are transforming yielded values (like promise unwrap) types are awkward

Valid points, I have a tough time understanding async promises and observables let alone generators sometimes. I was thinking that the API surface wouldn't expose the generators to the user, it would be similar to rxjs observable constructors or effect (I think).

Like making function chains? If they aren't exposed it doesn't really matter how we do it. There is another way we've been playing with generators, async generators as part of our async primitive as a universal way to handle streams. That being said cancellation isn't great. Still exploring.