actually return the constructed ostreams

how did this even work? coincidence in register allocation?