[Haskell-beginners] why is this type wrong