Andrew Coppin wrote: > > I just meant it's not immediately clear how > > foo :: forall x. (x -> x -> y) > > is different from > > foo :: (forall x. x -> x) -> y Uhm, I guess you meant foo :: forall x. ((x -> x) -> y) VS. foo :: (forall x. x -> x) -> y , didn't you?