
I have a lot of boilerplate code that th-desugar has made significantly more manageable (thanks Richard!). Somewhere in the midst of it, I have:
type_equal (DContT n1) (DContT n2) = {...}
Which, when I compile with cabal, gives me: src/Language/Haskell/TH/Alpha.hs:180:13: Not in scope: data constructor ‘DContT’ Perhaps you meant one of these: ‘DConT’ (imported from Language.Haskell.TH.Desugar), ‘DConE’ (imported from Language.Haskell.TH.Desugar), ‘DConPa’ (imported from Language.Haskell.TH.Desugar) src/Language/Haskell/TH/Alpha.hs:180:25: Not in scope: data constructor ‘DContT’ Perhaps you meant one of these: ‘DConT’ (imported from Language.Haskell.TH.Desugar), ‘DConE’ (imported from Language.Haskell.TH.Desugar), ‘DConPa’ (imported from Language.Haskell.TH.Desugar) Huh? Of course 'DConT' is what I meant - that's exactly what I wrote! What in the world is going on? GHC is happy with all the other constructors! I tried rewriting, just to be sure I didn't *somehow* get a tricky unicode character in there...