
import Control.Monad.Experimental.Identity import Control.Monad.Experimental.StateT as S import Control.Monad.Experimental.Trans as T
I personally don't mind the typing much, that is the least of my concerns. :-) What "concerns" me though, is the fact that a module must know its own place in the hierarchy. It must know it's "Foo.Bar.Me" rather than just knowing it's "Me". This makes it hard to move modules, as has been mentioned already, and it's information the module simply doesn't _need_. So unless there is a technical necessity to reveal this information -- and I wouldn't know any -- I'm all for getting rid of specification of the full path. By the way, C++'s namespaces have almost the same deficit and they effectively failed to fulfill their purpose because of it. (I can elaborate this, if anyone's interested in my opinion. I believe much can be learned from C++'s strengths and weaknesses today.) Peter