I would say that I would like that as an API addition, but I think it's overkill for the need here. My gut feeling is that the use case here is general enough (KVO driven table views) that this method will be generally helpful.

Obviously it seems a bit specialized, but then I think it seems odd because we tend to think of table views being for arbitrary length lists of objects. But they're almost most often used for just general interface design. And that's exactly what this method assumes/supports. It's for driving not lists but interfaces.

(Incidentally, I went this route because I realized it was the only way to solve the problem I'd been describing earlier. You can't just do `insertSection:afterSection:` because you don't know if the `afterSection` exists. And so you have this exponential number of possible combinations of displayed sections that can really only be easily handled this way.)