[project @ 2002-11-18 14:25:50 by simonpj]
----------------------------------------
Class ops that do not introduce for-alls
----------------------------------------
MERGE TO STABLE (if poss)
The handling of class ops that do not add an extra for-all
was utterly bogus. For example:
class C a where
fc :: (?p :: String) => a;
class D a where
fd :: (Ord a) => [a] -> [a]
De-bogus-ing means
a) Being careful when taking apart the class op type in
MkIface.tcClassOpSig
b) Ditto when making the method Id in an instance binding.
Hence new function Inst.tcInstClassOp, and its calls
in TcInstDcls, and TcClassDcls