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
@@ -21,7 +21,7 @@
 -----------------------------------------------------------------------------
 
 module Control.Monad.RWS.Class (
-    MonadRWS(..),
+    MonadRWS,
     module Control.Monad.Reader.Class,
     module Control.Monad.State.Class,
     module Control.Monad.Writer.Class,
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
@@ -60,8 +60,8 @@
     state :: (s -> (a, s)) -> m a
     state f = do
       s <- get
-      let ~(a, s) = f s
-      put s
+      let ~(a, s') = f s
+      put s'
       return a
 
 -- | Monadic state transformer.
diff --git a/mtl.cabal b/mtl.cabal
--- a/mtl.cabal
+++ b/mtl.cabal
@@ -1,5 +1,5 @@
 name:         mtl
-version:      2.1
+version:      2.1.1
 cabal-version: >= 1.6
 license:      BSD3
 license-file: LICENSE
@@ -47,3 +47,4 @@
     MultiParamTypeClasses
     FunctionalDependencies
     FlexibleInstances
+  ghc-options: -Wall -fno-warn-unused-imports
