> Why waste cycles on restoring the buffer, when it will be immediately
> changed to some other buffer?

Because (by name and purpose) it looks like a function without side effects, so it's a little surprising that it has.
I don't think this would make a noticeable difference in performance, but if it's necessary for performance reasons I'll just write something on a docstring.