[Haskell] Why functional programming matters