diff --git a/data/Default.hs b/data/Default.hs
--- a/data/Default.hs
+++ b/data/Default.hs
@@ -245,7 +245,9 @@
 
 error "Redundant seq" = x `seq` x ==> x
 error "Redundant $!" = id $! x ==> x
-error "Redundant $!" = f $! x ==> f x where _ = not (isVar x)
+error "Redundant seq" = x `seq` y ==> y where _ = isWHNF x
+error "Redundant $!" = f $! x ==> f x where _ = isWHNF x
+error "Redundant evaluate" = evaluate x ==> return x where _ = isWHNF x
 
 -- MAYBE
 
@@ -468,6 +470,8 @@
 main = map (writer,) $ map arcObj $ filter (rdfPredEq (Res dctreferences)) ts -- map ((writer,) . arcObj) (filter (rdfPredEq (Res dctreferences)) ts)
 h x y = return $! (x, y) -- return (x, y)
 h x y = return $! x
+getInt = do { x <- readIO "0"; return $! (x :: Int) }
+foo = evaluate [12] -- return [12]
 
 import Prelude \
 yes = flip mapM -- Control.Monad.forM
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.22
+version:            1.8.23
 -- license is GPL v2 only
 license:            GPL
 license-file:       LICENSE
diff --git a/src/HSE/Util.hs b/src/HSE/Util.hs
--- a/src/HSE/Util.hs
+++ b/src/HSE/Util.hs
@@ -142,6 +142,18 @@
 isLexeme _ = False
 
 
+isWHNF :: Exp_ -> Bool
+isWHNF Con{} = True
+isWHNF Lit{} = True
+isWHNF Lambda{} = True
+isWHNF Tuple{} = True
+isWHNF List{} = True
+isWHNF (Paren _ x) = isWHNF x
+isWHNF RecConstr{} = True
+isWHNF (ExpTypeSig _ x _) = isWHNF x
+isWHNF _ = False
+
+
 ---------------------------------------------------------------------
 -- HSE FUNCTIONS
 
diff --git a/src/Hint/Match.hs b/src/Hint/Match.hs
--- a/src/Hint/Match.hs
+++ b/src/Hint/Match.hs
@@ -183,6 +183,7 @@
         f x = error $ "Hint.Match.checkSide, unknown side condition: " ++ prettyPrint x
 
         isType "Atom" x = isAtom x
+        isType "WHNF" x = isWHNF x
         isType ('L':'i':'t':typ@(_:_)) (Lit _ x) = head (words $ show x) == typ
         isType typ x = head (words $ show x) == typ
 
