я имел ввиду, что функция “foo() [clone .resolver]:” в вашем примере может компилятором автоматически генерится с __atttribute__((consttructor)) и поддержка линкера не нужна
переключение контекста - это перетасовывание пары указателей шедулером. После того как ты написал шедулер, дальше код превращается в написанную в последовательном стиле асинхронщину