Factor out pretty printing
LambdaCase makes for cleaner Print code