Example coroutines implementation on C++ using boost::context