The portable parts of Control.Monad.State (that are sufficient for most cases) should be in an extra module (maybe called Control.Monad.StateTypes). In addition further non-overloaded names for put, get, gets and modify would be needed (maybe putState, getState, etc.)
I fear, this would complicate the module structure too much.
I only suggest to split a (comparatively large) module Control.Monad.State into two modules. I think that is rather appropriate. (I'm willing to supply these modules.)
I've already extracted a portable part, because I wanted to try out the nhc98 tracer.
Christian
_______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe