Cancel scopes are complex and difficult concept, but I hope that this will at least give some shit, some light into them. So the way you described it before, it sounds like if there was a bunch of tasks running, if any of them try to await something, they're also going to get canceled. Within a single move on after block, you can only have one thing going on, which is they await here. Even if you start multiple tasks from that task group, they are not enclosed within that cancel scope. And we are trying to figure out the solution for that. Just something to keep in mind when you are writing any.io stuff.