Modern coroutine library for C++