Since its exact role and need is not clear yet, this transformation is
not yet specified.
+ TODO: Cast propagation
+
\subsubsection{Top level binding inlining}
This transform takes simple top level bindings generated by the
\small{GHC} compiler. \small{GHC} sometimes generates very simple
\starttrans
(letrec binds in E) M
- -----------------
+ ------------------------
letrec binds in E M
\stoptrans
Note that \lam{x0} and {x1} will still need normalization after this.
\subsubsection{Argument propagation}
+ TODO: Generalize this section into specialization, so other
+ transformations can refer to this (since specialization is really used
+ in multiple categories).
+
This transform deals with arguments to user-defined functions that are
not representable at runtime. This means these arguments cannot be
preserved in the final form and most be {\em propagated}.