I've been wanting similar logic around UnsafeThrowingContinuation to guarantee that it cannot be leaked