revert
monad definition