diff --git a/coverage.cabal b/coverage.cabal
--- a/coverage.cabal
+++ b/coverage.cabal
@@ -1,5 +1,5 @@
 name:                coverage
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Exhaustivity Checking Library
 homepage:            https://github.com/nicodelpiano/coverage
 bug-reports:         https://github.com/nicodelpiano/coverage/issues
diff --git a/examples/Nat.hs b/examples/Nat.hs
--- a/examples/Nat.hs
+++ b/examples/Nat.hs
@@ -56,5 +56,5 @@
 
   fromBinder = map binderToNat
 
-  fromRedundant (NotRedundant bs) = bs
+  fromRedundant (Redundant bs) = bs
   fromRedundant _ = []
diff --git a/examples/Tree.hs b/examples/Tree.hs
--- a/examples/Tree.hs
+++ b/examples/Tree.hs
@@ -66,5 +66,5 @@
 
   fromBinder = map binderToTree
 
-  fromRedundant (NotRedundant bs) = bs
+  fromRedundant (Redundant bs) = bs
   fromRedundant _ = []
diff --git a/src/Coverage.hs b/src/Coverage.hs
--- a/src/Coverage.hs
+++ b/src/Coverage.hs
@@ -35,7 +35,7 @@
 check :: (Eq lit) => Environment -> [Alternative lit] -> Check lit
 check env cas = applyRedundant (fmap nub) . applyUncovered nub . foldl' step initial $ cas
   where
-  initial = makeCheck [initialize $ length . fst . head $ cas] $ NotRedundant []
+  initial = makeCheck [initialize $ length . fst . head $ cas] $ Redundant []
 
   step :: (Eq lit) => Check lit -> Alternative lit -> Check lit
   step ch ca =
@@ -46,5 +46,5 @@
       where
       mr :: Redundant [Binders lit] -> Maybe Bool
       mr DontKnow = Nothing
-      mr Redundant = Just False
-      mr (NotRedundant _) = Just True
+      mr NotRedundant = Just False
+      mr (Redundant _) = Just True
diff --git a/src/Coverage/Internal.hs b/src/Coverage/Internal.hs
--- a/src/Coverage/Internal.hs
+++ b/src/Coverage/Internal.hs
@@ -65,22 +65,22 @@
 type Alternative lit = (Binders lit, Maybe Guard)
 
 -- | Data-type for redundant cases representation.
-data Redundant a = DontKnow | Redundant | NotRedundant a
+data Redundant a = DontKnow | NotRedundant | Redundant a
   deriving (Show, Eq)
 
 -- | Functor instance for Redundant (TODO: proofs).
 instance Functor Redundant where
-  fmap _ DontKnow         = DontKnow
-  fmap _ Redundant        = Redundant
-  fmap f (NotRedundant r) = NotRedundant $ f r
+  fmap _ DontKnow      = DontKnow
+  fmap _ NotRedundant  = NotRedundant
+  fmap f (Redundant r) = Redundant $ f r
 
 -- | Applicative instance for Redundant.
 instance Applicative Redundant where
-  pure = NotRedundant
+  pure = Redundant
 
-  DontKnow <*> _         = DontKnow
-  Redundant <*> _        = Redundant
-  (NotRedundant f) <*> m = fmap f m
+  DontKnow <*> _      = DontKnow
+  NotRedundant <*> _  = NotRedundant
+  (Redundant f) <*> m = fmap f m
 
 -- | Check wraps both uncovered and redundant cases.
 data Check lit = Check
diff --git a/tests/CoverageUnitSpec.hs b/tests/CoverageUnitSpec.hs
--- a/tests/CoverageUnitSpec.hs
+++ b/tests/CoverageUnitSpec.hs
@@ -59,7 +59,7 @@
 tagged_def6 :: [Alternative ()]
 tagged_def6 = [([wildcard, wildcard, wildcard], Nothing), ([z, z, z], Nothing)]
 
-fromRedundant (NotRedundant bs) = bs
+fromRedundant (Redundant bs) = bs
 fromRedundant _ = []
 
 lit_def1 :: [Alternative String]
@@ -122,7 +122,7 @@
         (getUncovered $ check env record_def1) `shouldBe` []
 
       it "product_def2 is not exhaustive" $ do
-        (getUncovered $ check env record_def1) `shouldBe` []
+        (getUncovered $ check env record_def2) `shouldBe` [[Record [("bar", s wildcard), ("foo", s wildcard)]], [Record [("bar", wildcard), ("foo", s $ s wildcard)]]]
 
 main :: IO ()
 main = hspec spec
