> I pushed the refactoring now, to extract the progress reporting to a separate
> function. That seems like an improvement independently from the rest of the
> I'll take another look at the rest, probably tomorrow.
Attached is the remainder of the patch rebased to current head.