На мой взгляд, корутины (сопрограммы) - самое трудное для использования нововведение, появившиеся в стандарте С++20. Несмотря на то, что по данной теме имеется большое количество статей на Хабре, например один, два, три, а также существует много видеоматериалов с выступлений на различных конференциях, при изучении сопрограмм в С++20 сталкиваешься с большим количеством проблем, обусловленных несколькими причинами.
