Improve perf of renaming
Improve perf of renaming

Perf only change:

  * don't look up type variable names (they're never in the environment)
  * use a difference list for accumulating missing names
  * more efficient 'Functor'/'Applicative' instances for 'RnM'

haskell/haddock,haskell/haddock,haskell/haddock,haskell/haddock,haskell/haddock