There was no consensus on IRC if this is really a GHC bug or I should simply tinker with the GHC options / source file until it works. But since the code in question does not use any obscure extensions (in fact, no extensions at all) and could be compiled with many GHC versions from 6.4 onward, I thought you might want to hear about it.

I remember I fiddled with this but couldn't get it to compile after a short time; but I do believe this behavior has been fixed (re: many other very similar tickets: #8852, #8980, #8941, #8960, #7898, #5550, #8836). Please re-open if you think otherwise.