My error; the problem was a kind mismatch. Sorry to bother you folks.
> -----Original Message-----
> From: Frank A. Christoph [mailto:[EMAIL PROTECTED]]
> Sent: Friday, December 17, 1999 11:47 AM
> To: Haskell List
> Subject: Illegal type in class constraint
>
>
> I have a datatype which looks like:
>
> data T c d f g = forall a. T ...
>
> and I want to make it an instance of a class C:
>
> instance (C c, C d) => C (T c d) where ...
>
> However, Hugs98 (newest version) gives me an error:
>
> Illegal type in class constraint
>
> which I have determined does not arise from the constraint (the
> "(...)=>" part) but from the "head" Cat (T c d), since I can
> comment out the constraint and get the same error.
>
> This error message is not very informative, so I'm guessing there
> is some rule that types with locally quantified constructors must
> be fully applied in instance heads. Is that correct?
> Incidentally, all the arguments to T are also type functions, in
> case it matters.
>
> Haven't tried this on GHC yet.
>
> --FAC