ghc expects that I use all type variables in a multi-paramter type class. It seems to me that this makes no sense. e.g.: a Dictionary class with 'key' as the type of keys in 'dict' and 'dat' as the type of information associated with a key. > class (Eq key, Ord key) => Dictionary dict key dat where ... delete :: key -> dict -> dict ... Obviously I need only 'key' and 'dict' in this operation. ghc wants to get the 'dat' in the type signature, too. Is there any reason for this restriction? Martin Stein