AsyncSequence may be a better fit for progress reporting in this case, I guess.