[Haskell-cafe] strict mapM implementation correctness