A Mental Model for C++ Coroutine