DSL which defines a parser and pretty printer at the same time (http://www.happstack.com/)