Basic Data Structures in Haskell