PrintContext is produced by the LHS parser and printer, and

consumed by the RHS parser and printer
Conceptually, I would consider out stream to be part of the PrinterContext.