Such as Identity?
Well in:
inv :: (Monad m, ...) => m a -> m ()
inv m = ...
I don't mind that there are more constraints on 'm' than just Monad
class Monad m => MonadInv m where inv :: m a -> m ()
With this constraint you certainly can have your "inv".