> My advice is this: instead of using a state monad, use a monad that has > an independent interpretation. (You may *implement* it in terms of the > state monad, but you may not *think* of it as a state monad). Thank you so much. The advice and links you gave me are very helpful.