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