@theincredibleholk When I look at this, I think of it as a single async context, so because it hasn't been awaited, it hasn't been polled, and so that first yield still hasn't been materialized. So I think about it like this:
1. We get a yield future. We don't await it.
2. We get that same yield future again, and await it. The future materializes.
So I guess in that world, if you then await first, either:
1. It gets the next value / None.
2. It's considered invalid/semi-dropped. Panic?