It does use the streamed results, but for obvious reasons, you can only do map-reduce in the full result set. I toyed first with the idea of having per-row callbacks that could transform both the key and the result for the row, but it turned out to be quite limiting what you could do with it. The only advantage was full support for streaming.

This is still possible to do, though. If you wrap the result set in your own iterator (or yield). Would you like me to bring back that class?