GHC error messages and their meaning.
1 "`foo' is not applied to enough type arguments"
2 "`foo' is not a (visible) method of class `Bar'"
This error message occurs when one tries to instantiate a class, but did not import the functions one tries to implement.
import Prelude hiding ((==)) data Foo = Foo instance Eq Foo where (==) a b = True
3 "Cannot match a monotype with `Foo'"
See this Haskell-Cafe thread.
4 "Parse error in pattern"