rearrange ostream overloads