Спасибо, полезная лекция! Пример с battery действительно сложный. Есть более понятное объяснение, что в генераторах yield возвращает значение, а в corutin'ах yield принимает значение. А тут оба принципа Вы пытаетесь объяснить одновременно, и получается сложно.