[Haskell] Higher types in contexts