PrintContext is produced by the LHS parser and printer, and

consumed by the RHS parser and printer
The issue here is that there's a function that parses a file full of LHSs, which needs to produce a vector of PrintContexts, and a function that parses a file full of RHSs, which needs to consume a vector of PrintContexts.