{-
************************************************************************
*                                                                      *
\subsection[TysWiredIn-List]{The @List@ type (incl ``build'' magic)}
*                                                                      *
************************************************************************

Special syntax, deeply wired in, but otherwise an ordinary algebraic
data types:
\begin{verbatim}
data [] a = [] | a : (List a)
data () = ()
data (,) a b = (,,) a b
...
\end{verbatim}
-}

mkListTy :: Type -> Type
mkListTy ty = mkTyConApp listTyCon [ty]
mkListTy :: Type -> Type
mkListTy ty = mkTyConApp listTyCon [ty]
mkListTy ty = mkTyConApp listTyCon [ty]