Domain Modelling With Haskell Accumulating With Writert