On Wed, Feb 3, 2010 at 1:10 PM, Alexander Treptow <alexander.treptow at googlemail.com> wrote: > testFunc :: (forall a. Conf a, MonadIO m => m a) -> TestType At a guess, this function takes a tuple containing a forall a. Conf a and a MonadIO m => m a, which is not what you meant. As Miguel says, more parentheses are the answer.