> > ghc -c -fglasgow-exts Test.lhs
>
> Test.lhs:11: Context `{Ord taDr}'
> required by inferred type, but missing on a type signature
> `Ord taDr' arising from use of `q' at Test.lhs:11
> In a polymorphic function argument `q'
> In the first argument of `Empty', namely `q'
> In a pattern binding: `e2 = Empty q'
It's a bug all right. Curiously, the compiler doesn't handle overloading in
polymorphic arguments; but neither does it reject constructors with overloaded
argument types. (Code written at different times!)
I'll fix this. There's no decent workaround until I do, I'm afraid.
Thanks for a fine report.
Simon