да блин, корутины существовали задолго до того, как кто-то хотел разделять потоки выполнения.
Отличие корутины от субрутины в том, что субрутина при возврате завершается, а к корутине можно потенциально много раз возвращаться.
В питоне корутины асинхронные появились недавно, а просто корутины были миллиард лет
Корутины синхронные питоновы давно знаю, да. И они больше на pushing data flow похожи, чем на конкаренси, тут согласен