It's important not to swallow error.Canceled. We don't have recancel() yet but that will be a way to "rearm" cancelation after handling it so that it is not ignored.