> > class Eq_Monad f where
> > result :: a -> f a
> > bind :: Eq b => f a -> (a -> f b) -> f b
> > join :: Eq a => f (f a) -> f a
> > ...........
> Is there any reason why qualified types should not appear as the
> declared types of instance variables in class declarations? Polymorphic
Huh?? Methods with a context are perectly fine in Haskell.
So if you extend Haskell with constructor classes your example
would be all right. (In fact, I just checked your example
with my new type checker and it went through without problem.)
-- Lennart