[Haskell-beginners] Haskell and design patterns