
kahl@cas.mcmaster.ca schrieb:
6) I haven't been able to pinpoint it in the Haddock docs, but somehow Control.Monad.State re-exports Control.Monad, which invalidates my explicit Control.Monad imports whenever I import Control.Monad.State full and unqualified --- which I still do since only get, put, and modify appear to be named for qualified import and normally don't clash with other names in my modules.
I think providing each implementation (State and StateT) in a separate module, and consequently renaming for qualified import (e.g., StateT.exec) would be desirable.
I would not even re-export Control.Monad.Trans from Control.Monad.(State|Cont|...).
In contrast to 'mtl', 'transformers' does not export identifiers from 'Control.Monad' or 'Control.Monad.Trans'.