In practice, .initial_suspend() lets you pick between making a coroutine that doesn't start running until explicitly kicked off (perhaps its result co_await'ed), or a hot-start coroutine that immediately runs until the first "real" suspension point, and only then returns to the caller.