I don't really have enough use-cases/design ideas right now to fully genericize.   We'd end up with a half-a$$ed implementation of a generic API. I'd rather not have to maintain such a thing until we know what a cancellation API should look like.