Adds a pretty-printer, as well as property tests that this is in fact an proper inverse for the parser.