Syntax and type synonym for ADTs
Parenthesize applications and other modifications to the pretty printer