[Haskell-beginners] single responsibility principle vs functional programming