The current meta is to use task groups and bubble up the exception that cancelled the coroutine/task.