Как минимум: Исполнение его идёт строго по порядку номеров строк внутри генератора. Это значит, что достаточно проверить, что все зареганные обработчики к концу работы генератора были разреганы.
Также все нужное мне состояние неявно формируется из переменных попавших в замыкание генератора и мне не нужно явно его определять и где-то хранить, каким бы сложным оно не было