E.g., add iterateBatches and greedyIterateBatches functions in ExtDatasetClient.
It would improve cases like this:
for await (const post of client.dataset<Post>(postsRun.defaultDatasetId).greedyIterate({
offset: state.postsScraperRun.seenPosts,
})) {
addPost(post);
++state.postsScraperRun.seenPosts;
}