in reply to Undo monad for permission changes
Sounds great, from a user perspective.
I suspect you'll go insane during the implementation, however. ;-)