Three improvements to Template Haskell (fixes #3467)