Я пользовался, дропнул boost::coro в сторону boost::context::callcc совмещённый с async вызовами. В целом общая рекомендация не делать больших контекстов, не вызывать рекурсивные функции, дробить контексты на более мелкие, и вообще аккуратно относиться к коду. Но если это лень делать или просто не времени, то как я уже упомянул callcc поддерживает фичу “segmented stacks” это ровно то, что надо.
Спасибо, посмотрю в сторону callcc, но вот segmented stacks я так понял под виндой не работают.