[improve instance Pretty TExp
Helmut Grohne <grohne@cs.uni-bonn.de>**20150217102821
 Ignore-this: 794962b96629cd44b0ad4eb737a2f886
] hunk ./src/Syntax/Ppr.hs 31
-pprTExp (TConE n t)         = pretty n
+pprTExp (TConE n t)
+    | isNil n               = text "[]"
+    | isCons n              = text "(:)"
+    | otherwise             = pretty n
hunk ./src/Syntax/Ppr.hs 36
-pprTExp (TAppE e1 e2)       = pprTExp e1 <+> pprTExp e2
+pprTExp e@TAppE {}          = let (f:args) = unfoldTAppE e
+    in case (checkConE isCons f, checkConE isAnyTuple f, map pprTExp args) of
+           (True, _, [x, y])  -> parens $ x <+> colon <+> y
+           (_, True, pprArgs) -> parens (sep (punctuate comma pprArgs))
+           (_,    _, pprArgs) -> parens (sep (pprTExp f:pprArgs))