I would be happy to declare that `await` is out of scope for this thread. It seems that it is always well-defined and sensible what it does in comprehensions and in genexprs. (Although I can't help noticing that PEP 530 does not appear to propose `await` in generator expressions -- it proposes `async for` in comprehensions and in genexprs, and `await` in comprehensions only -- but they appear to be accepted nevertheless.)
So we're back to the original issue, which is that `yield` inside a comprehension accidentally makes it become a generator rather than a list, set or dict. I believe that this can be fixed. But I don't believe we should fix it. I believe we should ban `yield` from comprehensions and from genexprs. We don't need it, and it's confused most everyone. And the ban should extend to `yield from` in those same contexts. I think we have a hope for consensus on this.
(I also think that if we had invented `await` earlier we wouldn't have gone down the path of `yield` expressions -- but historically it appears we wouldn't have invented `await` at all if we hadn't first tried `yield` and then `yield from` to build coroutines, so I don't think this so bad after all. :-)