… such that each iteration of its former loop is now a method call,
with the caller driving the loop.
This entirely removes the need for the DataHolder hack:
the method now takes a ChangedFiles<'_> parameter that borrows
a bytes buffer that can be owned by the caller’s stack frame,
just for the duration of that call.
This should be a docstring, same goes for finish