Interestingly, thinking about the problem in terms of exception handling flow reminded me of the fact that having a generator-iterator yield while inside a with statement or try/except block is already considered an anti-pattern in many situations, precisely because it means that any exceptions that get thrown in (including GeneratorExit) will be intercepted when that may not be what the author really intended.

It all works fine now: 

So, I have a strong requirement: whatever is decided on this PEP... 

Please don't break it? (or make it illegal) 

Juancarlo Añez