diff --git a/data/Default.hs b/data/Default.hs
--- a/data/Default.hs
+++ b/data/Default.hs
@@ -245,6 +245,7 @@
 
 error "Redundant seq" = x `seq` x ==> x
 error "Redundant $!" = id $! x ==> x
+error "Redundant $!" = f $! x ==> f x where _ = not (isVar x)
 
 -- MAYBE
 
@@ -465,6 +466,8 @@
 import Control.Exception as E; no = E.catch
 main = do f; putStrLn $ show x -- print x
 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
 
 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.21
+version:            1.8.22
 -- license is GPL v2 only
 license:            GPL
 license-file:       LICENSE
