- are no explicit conversion in Haskell, but not in Core either. This
- means the type of a value might be show as \hs{AccState} in some places,
- but \hs{Word} in others (and this can even change due to
- transformations). Since every binder has an explicit type associated
- with it, the type of every function type will be properly preserved and
- could be used to track down the statefulness of each value by the
- compiler. However, this makes the implementation a lot more complicated
- than it currently is using \hs{newtypes}.
+ is no explicit conversion in Haskell, but not in Core either. This
+ means the type of a value might be shown as \hs{State Word} in
+ some places, but \hs{Word} in others (and this can even change due
+ to transformations). Since every binder has an explicit type
+ associated with it, the type of every function type will be
+ properly preserved and could be used to track down the
+ statefulness of each value by the compiler. However, this would make
+ the implementation a lot more complicated than when using type
+ renamings as described in the next section.