[Haskell-beginners] type puzzlement