Am 07.05.2014 13:43, schrieb Michael Snoyman:However, even if imported in the second way, runReaderT identifier can be used in record field update syntax. I guess it would be more consistent to allow only the use as a function when imported like an ordinary function.
In the case here, the syntax:
import Control.Monad.Trans.Reader (ReaderT (..))
is very convenient. But it's true that you don't really gain much from
the distinction between these two:
import Control.Monad.Trans.Reader (ReaderT (ReaderT, runReaderT))
import Control.Monad.Trans.Reader (ReaderT (ReaderT), runReaderT)
Perhaps the latter should be considered a better approach, since it's
more resilient to changes in datatypes.