Actually, the gold mine is monad transformer. There aren't many things you can do with monads (and the OP's one is nothing new). The real power is in the combination of monads.
I haven't seen exactly the same corresponding monad. But I would compare it with existing backtracking monads used for logic programming. My point is, that a backtracking monad in general is a well known concept. Your special point is the rollback, which isn't included in the monads i saw. I think that people, who worked with backtracking monads, know that they could implement a rollback if needed.
I added the backtracking effect in this article without stacking a new transformer. In a way somewhat similar in which a new interpreter can add a new effect to a free monad.