[Haskell-beginners] Associated data type confusion