Okay, I figured this out. mapM is not lazy, at least not for a monad that
has state and under the circumstance you demand the state out the other side.
I may rewrite the program. Or I may consider the ISS principle. ("Increase
the stack, stupid.")
-Mike