Updated Haskell explanatation