That would be great.
Would you mind send me a patch, or commit it to the source tree.
Actually I found in the paper SYB with classes also need such change,
if you don't like overlapping instance.
class Data cxt a => cxt a where 


On Thu, Oct 20, 2011 at 11:14 AM, Max Bolingbroke <batterseapower@hotmail.com> wrote:
On 18 October 2011 13:49, bob zhang <bobzhang1988@gmail.com> wrote:
>     In my contrived example the definition of class C is like this
>         class C c where { foo :: c Int => ....}
>         class C B => B a where { ...}
>     will this pass under your proposal?

Yes I would allow this to pass.

If this would be enough to support what you want to do I'm happy to
make the change.

Max



--
Best, bob