[Haskell-beginners] I need advice on design