[Haskell-beginners] question about shared data types