SuspendCompletionSource
A suspend function that provides completions for a given context.
Use with asyncCompletionSource to create a CompletionSource that runs in a coroutine. The coroutine is cancelled if the user types while completion is pending.