[Haskell-cafe] Stacking monads - beginner design question