Using this set of types, all types in basic Haskell can be represented.
\section[sec:prototype:statetype]{State annotations in Haskell}
+ TODO: This section should be reviewed and expanded.
+
Ideal: Type synonyms, since there is no additional code overhead for
packing and unpacking. Downside: there is no explicit conversion in Core
either, so type synonyms tend to get lost in expressions (they can be