+ (Just (ppr sty)) -- usages
+ where
+
+ ppr_con con = ppr sty con
+
+{- [We now use Con {a,b,c} for Con expressions. SLPJ March 97.]
+ [We can't treat them as ordinary applications because the Con doesn't have
+ dictionaries in it, whereas the constructor Id does.]
+
+ OLD VERSION:
+ -- ppr_con is used when printing Con expressions; we add a "!"
+ -- to distinguish them from ordinary applications. But not when
+ -- printing for interfaces, where they are treated as ordinary applications
+ ppr_con con | ifaceStyle sty = ppr sty con
+ | otherwise = ppr sty con <> char '!'
+-}
+
+ -- We add a "!" to distinguish Primitive applications from ordinary applications.
+ -- But not when printing for interfaces, where they are treated
+ -- as ordinary applications
+ ppr_prim prim | ifaceStyle sty = ppr sty prim
+ | otherwise = ppr sty prim <> char '!'