That's definitely how I wrote it at first (except not sure any snippet functions would be needed).  I added this to get real-time feedback for larger op sets -- it can take several seconds to compute a full rebalancing for multiple heavily partitioned databases, and it felt nicer as a user to see the system generating ops instead of just sitting there cranking away.

The focus on printing is definitely a transitional thing that reflects our dependence on external tooling for executing the rebalancing.

What if we left it in but kept it as an easily-reverted separate commit?