custom pretty-printer

pprint is too verbose, and simplifyWords was too brittle.
support swap