True, but if we remove it, it's no longer visible at first glance that the whole operation is wrapped in a transaction, instead one needs to know how delete is actually implemented. Is there much overhead in `@atomic` when `savepoint=False`?

I don't mind updating it, but I'm trying to make this part of Django more accessible, we've stopped counting how many issues we've found in related operations, and that these have been going unnoticed for so long is a strong 
 signal that most people don't understand how it work, and take the whole thing for granted.

But of course if overhead is non-negligible, it trumps every other considerations.