predRepTy, isUTyVar
)
import Var ( TyVar, tyVarKind )
-import TyCon ( TyCon, isPrimTyCon, isTupleTyCon, isUnboxedTupleTyCon,
+import TyCon ( TyCon, isPrimTyCon, isTupleTyCon, tupleTyConBoxity,
maybeTyConSingleCon, isEnumerationTyCon,
tyConArity, tyConName
)
import Outputable
import PprEnv
import Unique ( Uniquable(..) )
+import BasicTypes ( tupleParens )
import PrelNames -- quite a few *Keys
\end{code}
-- TUPLE CASE (boxed and unboxed)
| isTupleTyCon tycon
&& length tys == tyConArity tycon -- no magic if partially applied
- = parens tys_w_commas
-
- | isUnboxedTupleTyCon tycon
- && length tys == tyConArity tycon -- no magic if partially applied
- = parens (char '#' <+> tys_w_commas <+> char '#')
+ = tupleParens (tupleTyConBoxity tycon) tys_w_commas
-- LIST CASE
| tycon `hasKey` listTyConKey && n_tys == 1