Learning and exploring in Haskell