traceMsgM
    :: (Monad m, Show r)
    => [Char] -> m r -> m r
traceMsgM a = State.liftM $ traceMsg a
traceMsgM
    :: (Monad m, Show r)
    => [Char] -> m r -> m r
traceMsgM a = State.liftM $ traceMsg a
traceMsgM a = State.liftM $ traceMsg a