Cancellation
A function is said to support IoAwaitable cancellation when its return type
models concept IoAwaitable and this return object a controls a coroutine which
can be prematurely stopped using the std::stop_token propagated through the
IoAwaitable protocol. Additionally, if the result type of expression co_await a
in the context of a Capy-coroutine is a specialization of io_result
then the cancelling of an operation is
considered a contingency represented by condition cond::canceled.