Check eta-expansion in the compiler
@nomeata reported on his blog  that the ReaderT pattern (i.e. a newtype containing a function) can lead to missed eta-expansions. In his case he reports "Improvement: Allocations: -23.20% Time: -23.00%"
We use this pattern in GHC too so we should check if we could gain anything by forcing eta-expansions in a few places.
- !3503 (merged): make the unifier use a one-shot monad.
- !3751 (closed): make the Simplifier use a one-shot monad