diff --git a/Control/Monad/Cont.hs b/Control/Monad/Cont.hs
--- a/Control/Monad/Cont.hs
+++ b/Control/Monad/Cont.hs
@@ -53,6 +53,7 @@
     MonadCont(..),
     -- * The Cont monad
     Cont,
+    cont,
     runCont,
     mapCont,
     withCont,
diff --git a/Control/Monad/RWS.hs b/Control/Monad/RWS.hs
--- a/Control/Monad/RWS.hs
+++ b/Control/Monad/RWS.hs
@@ -12,8 +12,7 @@
 -- Declaration of the MonadRWS class.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
diff --git a/Control/Monad/RWS/Class.hs b/Control/Monad/RWS/Class.hs
--- a/Control/Monad/RWS/Class.hs
+++ b/Control/Monad/RWS/Class.hs
@@ -15,8 +15,7 @@
 -- Declaration of the MonadRWS class.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
diff --git a/Control/Monad/RWS/Lazy.hs b/Control/Monad/RWS/Lazy.hs
--- a/Control/Monad/RWS/Lazy.hs
+++ b/Control/Monad/RWS/Lazy.hs
@@ -12,8 +12,7 @@
 -- Lazy RWS monad.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
@@ -21,6 +20,7 @@
 module Control.Monad.RWS.Lazy (
     -- * The RWS monad
     RWS,
+    rws,
     runRWS,
     evalRWS,
     execRWS,
@@ -44,7 +44,7 @@
 
 import Control.Monad.Trans
 import Control.Monad.Trans.RWS.Lazy (
-    RWS, runRWS, evalRWS, execRWS, mapRWS, withRWS,
+    RWS, rws, runRWS, evalRWS, execRWS, mapRWS, withRWS,
     RWST(..), evalRWST, execRWST, mapRWST, withRWST)
 
 import Control.Monad
diff --git a/Control/Monad/RWS/Strict.hs b/Control/Monad/RWS/Strict.hs
--- a/Control/Monad/RWS/Strict.hs
+++ b/Control/Monad/RWS/Strict.hs
@@ -12,8 +12,7 @@
 -- Strict RWS monad.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
@@ -21,6 +20,7 @@
 module Control.Monad.RWS.Strict (
     -- * The RWS monad
     RWS,
+    rws,
     runRWS,
     evalRWS,
     execRWS,
@@ -44,7 +44,7 @@
 
 import Control.Monad.Trans
 import Control.Monad.Trans.RWS.Strict (
-    RWS, runRWS, evalRWS, execRWS, mapRWS, withRWS,
+    RWS, rws, runRWS, evalRWS, execRWS, mapRWS, withRWS,
     RWST(..), evalRWST, execRWST, mapRWST, withRWST)
 
 import Control.Monad
diff --git a/Control/Monad/Reader.hs b/Control/Monad/Reader.hs
--- a/Control/Monad/Reader.hs
+++ b/Control/Monad/Reader.hs
@@ -30,8 +30,7 @@
 than using the 'Control.Monad.State.State' monad.
 
   Inspired by the paper
-  /Functional Programming with Overloading and
-      Higher-Order Polymorphism/, 
+  /Functional Programming with Overloading and Higher-Order Polymorphism/,
     Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
     Advanced School of Functional Programming, 1995.
 -}
@@ -42,6 +41,7 @@
     asks,
     -- * The Reader monad
     Reader,
+    reader,
     runReader,
     mapReader,
     withReader,
@@ -65,7 +65,7 @@
 import Control.Monad.Reader.Class
 
 import Control.Monad.Trans.Reader (
-    Reader, runReader, mapReader, withReader,
+    Reader, reader, runReader, mapReader, withReader,
     ReaderT(..), mapReaderT, withReaderT)
 import Control.Monad.Trans
 
diff --git a/Control/Monad/Reader/Class.hs b/Control/Monad/Reader/Class.hs
--- a/Control/Monad/Reader/Class.hs
+++ b/Control/Monad/Reader/Class.hs
@@ -32,8 +32,7 @@
 than using the 'Control.Monad.State.State' monad.
 
   Inspired by the paper
-  /Functional Programming with Overloading and
-      Higher-Order Polymorphism/, 
+  /Functional Programming with Overloading and Higher-Order Polymorphism/,
     Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
     Advanced School of Functional Programming, 1995.
 -}
diff --git a/Control/Monad/State.hs b/Control/Monad/State.hs
--- a/Control/Monad/State.hs
+++ b/Control/Monad/State.hs
@@ -12,8 +12,7 @@
 -- State monads.
 --
 --      This module is inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 
diff --git a/Control/Monad/State/Class.hs b/Control/Monad/State/Class.hs
--- a/Control/Monad/State/Class.hs
+++ b/Control/Monad/State/Class.hs
@@ -15,8 +15,7 @@
 -- MonadState class.
 --
 --      This module is inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 
diff --git a/Control/Monad/State/Lazy.hs b/Control/Monad/State/Lazy.hs
--- a/Control/Monad/State/Lazy.hs
+++ b/Control/Monad/State/Lazy.hs
@@ -12,8 +12,7 @@
 -- Lazy state monads.
 --
 --      This module is inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 
@@ -26,6 +25,7 @@
     gets,
     -- * The State monad
     State,
+    state,
     runState,
     evalState,
     execState,
@@ -48,7 +48,7 @@
 
 import Control.Monad.Trans
 import Control.Monad.Trans.State.Lazy
-        (State, runState, evalState, execState, mapState, withState,
+        (State, state, runState, evalState, execState, mapState, withState,
          StateT(..), evalStateT, execStateT, mapStateT, withStateT)
 
 import Control.Monad
diff --git a/Control/Monad/State/Strict.hs b/Control/Monad/State/Strict.hs
--- a/Control/Monad/State/Strict.hs
+++ b/Control/Monad/State/Strict.hs
@@ -12,8 +12,7 @@
 -- Strict state monads.
 --
 --      This module is inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)
 --          Advanced School of Functional Programming, 1995.
 
@@ -26,6 +25,7 @@
     gets,
     -- * The State monad
     State,
+    state,
     runState,
     evalState,
     execState,
@@ -48,7 +48,7 @@
 
 import Control.Monad.Trans
 import Control.Monad.Trans.State.Strict
-        (State, runState, evalState, execState, mapState, withState,
+        (State, state, runState, evalState, execState, mapState, withState,
          StateT(..), evalStateT, execStateT, mapStateT, withStateT)
 
 import Control.Monad
diff --git a/Control/Monad/Writer.hs b/Control/Monad/Writer.hs
--- a/Control/Monad/Writer.hs
+++ b/Control/Monad/Writer.hs
@@ -12,8 +12,7 @@
 -- The MonadWriter class.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
diff --git a/Control/Monad/Writer/Class.hs b/Control/Monad/Writer/Class.hs
--- a/Control/Monad/Writer/Class.hs
+++ b/Control/Monad/Writer/Class.hs
@@ -15,8 +15,7 @@
 -- The MonadWriter class.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
diff --git a/Control/Monad/Writer/Lazy.hs b/Control/Monad/Writer/Lazy.hs
--- a/Control/Monad/Writer/Lazy.hs
+++ b/Control/Monad/Writer/Lazy.hs
@@ -12,8 +12,7 @@
 -- Lazy writer monads.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
@@ -25,6 +24,7 @@
     censor,
     -- * The Writer monad
     Writer,
+    writer,
     runWriter,
     execWriter,
     mapWriter,
@@ -42,7 +42,7 @@
 
 import Control.Monad.Trans
 import Control.Monad.Trans.Writer.Lazy (
-        Writer, runWriter, execWriter, mapWriter,
+        Writer, writer, runWriter, execWriter, mapWriter,
         WriterT(..), execWriterT, mapWriterT)
 
 import Control.Monad
diff --git a/Control/Monad/Writer/Strict.hs b/Control/Monad/Writer/Strict.hs
--- a/Control/Monad/Writer/Strict.hs
+++ b/Control/Monad/Writer/Strict.hs
@@ -12,8 +12,7 @@
 -- Strict writer monads.
 --
 --      Inspired by the paper
---      /Functional Programming with Overloading and
---          Higher-Order Polymorphism/,
+--      /Functional Programming with Overloading and Higher-Order Polymorphism/,
 --        Mark P Jones (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>)
 --          Advanced School of Functional Programming, 1995.
 -----------------------------------------------------------------------------
@@ -25,6 +24,7 @@
     censor,
     -- * The Writer monad
     Writer,
+    writer,
     runWriter,
     execWriter,
     mapWriter,
@@ -42,7 +42,7 @@
 
 import Control.Monad.Trans
 import Control.Monad.Trans.Writer.Strict (
-        Writer, runWriter, execWriter, mapWriter,
+        Writer, writer, runWriter, execWriter, mapWriter,
         WriterT(..), execWriterT, mapWriterT)
 
 import Control.Monad
diff --git a/mtl.cabal b/mtl.cabal
--- a/mtl.cabal
+++ b/mtl.cabal
@@ -1,5 +1,5 @@
 name:         mtl
-version:      2.0.0.0
+version:      2.0.1.0
 cabal-version: >= 1.6
 license:      BSD3
 license-file: LICENSE
@@ -14,7 +14,9 @@
     by Mark P Jones, in /Advanced School of Functional Programming/, 1995
     (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
 build-type: Simple
-exposed-modules:
+
+Library
+  exposed-modules:
     Control.Monad.Cont
     Control.Monad.Cont.Class
     Control.Monad.Error
@@ -36,8 +38,8 @@
     Control.Monad.Writer.Class
     Control.Monad.Writer.Lazy
     Control.Monad.Writer.Strict
-build-depends: base < 6, transformers == 0.2.*
-extensions:
+  build-depends: base < 6, transformers == 0.2.*
+  extensions:
     MultiParamTypeClasses
     FunctionalDependencies
     FlexibleInstances
