In some examples I've been writing, I've been trying to use StateT MyState ProcessM (). Generally the issue with this is that all of the ProcessM stuff has to be lifted. So there are two solutions.
Make ProcessM a transformer so I can use MonadState.
Add a MonadProcessM class I can instance my monad stack with so I can lift the stuff up automatically.
Or, you know, both.