Typed Template Haskell splices broken in HEAD (7.11)
In the latest HEAD (e2b579e8d77357e8b36f57d15daead101586ac8e) when I say:
```hs
$$(return [
SigD (mkName "m")
(ForallT [PlainTV (mkName "a")]
[]
(AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a"))))
, FunD (mkName "m")
[Clause [VarP (mkName "x")] (NormalB (VarE (mkName "x"))) []]
])
```
I get:
```
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 7.11.20151007 for x86_64-unknown-linux):
runRnSplice
$$(return
[SigD
(mkName "m")
(ForallT
[PlainTV (mkName "a")]
[]
(AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))),
FunD
(mkName "m")
[Clause [VarP (mkName "x")] (NormalB (VarE (mkName "x"))) []]])
```
This code compiles correctly in GHC 7.10.1.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 7.11 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Template Haskell |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | goldfire |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Typed Template Haskell splices broken in HEAD (7.11)","status":"New","operating_system":"","component":"Template Haskell","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.11","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["goldfire"],"type":"Bug","description":"In the latest HEAD (e2b579e8d77357e8b36f57d15daead101586ac8e) when I say:\r\n\r\n{{{#!hs\r\n$$(return [\r\n SigD (mkName \"m\")\r\n (ForallT [PlainTV (mkName \"a\")]\r\n []\r\n (AppT (AppT ArrowT (VarT (mkName \"a\"))) (VarT (mkName \"a\"))))\r\n , FunD (mkName \"m\")\r\n [Clause [VarP (mkName \"x\")] (NormalB (VarE (mkName \"x\"))) []]\r\n ])\r\n}}}\r\nI get:\r\n{{{\r\nghc-stage2: panic! (the 'impossible' happened)\r\n (GHC version 7.11.20151007 for x86_64-unknown-linux):\r\n runRnSplice\r\n $$(return\r\n [SigD\r\n (mkName \"m\")\r\n (ForallT\r\n [PlainTV (mkName \"a\")]\r\n []\r\n (AppT (AppT ArrowT (VarT (mkName \"a\"))) (VarT (mkName \"a\")))),\r\n FunD\r\n (mkName \"m\")\r\n [Clause [VarP (mkName \"x\")] (NormalB (VarE (mkName \"x\"))) []]])\r\n}}}\r\nThis code compiles correctly in GHC 7.10.1.","type_of_failure":"OtherFailure","blocking":[]} -->
issue