diff --git a/data/Default.hs b/data/Default.hs
--- a/data/Default.hs
+++ b/data/Default.hs
@@ -167,6 +167,7 @@
 -- LIST COMP
 
 warn  "Use list comprehension" = (if b then [x] else []) ==> [x | b]
+warn  "Redundant list comprehension" = [x | x <- y] ==> y where _ = isVar x
 
 -- SEQ
 
@@ -325,6 +326,9 @@
 yes = when (not . null $ asdf) -- unless (null asdf)
 yes = id 1 -- 1
 yes = case concat (map f x) of [] -> [] -- concatMap f x
+yes = Map.union a b -- a `Map.union` b
+yes = [v | v <- xs] -- xs
+no  = [Left x | Left x <- xs]
 yes = Map.union a b -- a `Map.union` b
 
 import Prelude \
diff --git a/hlint.cabal b/hlint.cabal
--- a/hlint.cabal
+++ b/hlint.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.6
 build-type:         Simple
 name:               hlint
-version:            1.8.2
+version:            1.8.3
 -- license is GPL v2 only
 license:            GPL
 license-file:       LICENSE
@@ -34,11 +34,12 @@
 
 library
     build-depends:
-        base == 4.*, process, filepath, directory, mtl, containers,
+        base == 4.*, process, filepath, directory, containers,
+        transformers == 0.2.*,
         hscolour == 1.17.*,
         cpphs == 1.11.*,
-        haskell-src-exts == 1.9.* && >= 1.9.4,
-        uniplate == 1.5.*
+        haskell-src-exts == 1.9.* && >= 1.9.6,
+        uniplate >= 1.5 && < 1.7
 
     hs-source-dirs:     src
     exposed-modules:
diff --git a/src/Hint/Bracket.hs b/src/Hint/Bracket.hs
--- a/src/Hint/Bracket.hs
+++ b/src/Hint/Bracket.hs
@@ -68,6 +68,7 @@
         msg = "Redundant bracket"
 
         -- f (Maybe (index, parent, gen)) child
+        f :: (Annotated a, Uniplate (a S), ExactP a, Pretty (a S), Brackets (a S)) => Maybe (Int,a S,a S -> a S) -> a S -> [Idea]
         f Just{} o@(remParen -> Just x) | isAtom x = err msg o x : g x
         f Nothing o@(remParen -> Just x) | bad = warn msg o x : g x
         f (Just (i,o,gen)) (remParen -> Just x) | not $ needBracket i o x = warn msg o (gen x) : g x
diff --git a/src/Util.hs b/src/Util.hs
--- a/src/Util.hs
+++ b/src/Util.hs
@@ -3,7 +3,8 @@
 module Util where
 
 import Control.Arrow
-import Control.Monad.State
+import Control.Monad
+import Control.Monad.Trans.State
 import Data.Char
 import Data.Function
 import Data.List
