runSubStateT :: Monad m
=> (s -> s') -> (s' -> s) -> StateT s' m a -> StateT s m a
runSubStateT to from m =
StateT (\s ->
liftM (\(a,s') -> (a,from s'))
(runStateT m (to s)))
Anyone ever needed something like this? Does it already exist in some
form in the standard libraries?
Ciao