[Haskell-beginners] How to model this in haskell, get rid of my OO thinking?