You are mistaken and confused. All IO objects in Ruby use `each` for writing out, non-IO objects use something else to write to IO objects. But from an IO object's perspective, that's a read.
Rack responses are IO objects, so they use #each to write data out. That's perfectly coherent.
> That's what you do when you yield to the each's block.
No IO object in ruby uses the `each` method for writing.