[Haskell-cafe] Monad explanation from a newbie to newbies having C# (or other OO) experience