\begin{code}
tyConPrimRep :: TyCon -> PrimRep
tyConPrimRep (PrimTyCon {primTyConRep = rep}) = rep
-tyConPrimRep _ = PtrRep
+tyConPrimRep tc = ASSERT( not (isUnboxedTupleTyCon tc) )
+ PtrRep
+ -- We should not be asking what the representation of an
+ -- unboxed tuple is, because it isn't a first class value.
\end{code}
\begin{code}
tyConTheta :: TyCon -> [PredType]
tyConTheta (AlgTyCon {algTyConTheta = theta}) = theta
--- should ask about anything else
+tyConTheta (TupleTyCon {}) = []
+-- shouldn't ask about anything else
\end{code}
@tyConArgVrcs_maybe@ gives a list of (occPos,occNeg) flags, one for