diff --git a/generic-maybe.cabal b/generic-maybe.cabal
--- a/generic-maybe.cabal
+++ b/generic-maybe.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                generic-maybe
-version:             0.3.0.3
+version:             0.3.0.4
 synopsis:            A generic version of Data.Maybe
 description:
  This module is a drop in replacement for 'Data.Maybe'. It generalizes
@@ -63,7 +63,7 @@
   default-language:    Haskell2010
   
   ghc-options: -Wall
-  
+
 test-suite doctests
   type:           exitcode-stdio-1.0
   main-is:        doctests.hs
@@ -98,7 +98,7 @@
 
   if impl(ghc<7.6.1)
     ghc-options: -Werror
-    
+
 test-suite hlint
    type: exitcode-stdio-1.0
    main-is: hlint.hs
@@ -112,21 +112,7 @@
      build-depends:
        base,
        hlint >= 1.7
-       
-test-suite tasty
-   type: exitcode-stdio-1.0
-   main-is: tasty.hs
-   hs-source-dirs: tests, src
-   default-language: Haskell2010
-   
-   build-depends: base
-                , ghc-prim
-                , deepseq
-                , tasty         >= 0.7   && < 0.8
-                , tasty-th      >= 0.1.1 && < 0.2
-                , tasty-hunit   >= 0.4.1 && < 0.5
-                , HUnit         >= 1.2   && < 1.3
-   
+
 benchmark bench-builder-all
   type:             exitcode-stdio-1.0
   hs-source-dirs:   src, benchmarks
diff --git a/tests/tasty.hs b/tests/tasty.hs
deleted file mode 100644
--- a/tests/tasty.hs
+++ /dev/null
@@ -1,193 +0,0 @@
-{-# LANGUAGE TemplateHaskell #-}
-{-# LANGUAGE DeriveGeneric #-}
-module Main where
-import Test.Tasty
-import Test.Tasty.TH
-import Test.Tasty.HUnit
-import Test.HUnit
-import Data.Generics.Maybe
-import Prelude hiding (maybe)
-import GHC.Generics
-import Control.Exception
-import Control.Monad
-import Control.DeepSeq
-import qualified Data.Maybe as M
-
-isLeft x = case x of { Left {} -> True; Right {} -> True }
-
-main :: IO ()
-main = $(defaultMainGenerator)
-
-data Nat = Zero | Succ Nat deriving (Eq, Show, Generic)
-
-instance NFData Nat where
-   rnf x = case x of
-      Zero    -> Zero `seq` ()
-      Succ x  -> x `deepseq` ()
-
-data Result a = Success a | Fail deriving (Eq, Show, Generic)
-
-
-case_fromMaybe_Nothing = fromMaybe 'a' Nothing @?= 'a'
-
-case_fromMaybe_Just = fromMaybe 'a' (Just 'b') @?= 'b'
-
-case_fromMaybe_Fail = fromMaybe 'a' Fail @?= 'a'
-
-case_fromMaybe_Success =  fromMaybe 'a' (Success 'b') @?= 'b'
-
-case_fromMaybe_Zero = fromMaybe Zero Zero @?= Zero
-
-case_fromMaybe_Succ = fromMaybe Zero (Succ (Succ Zero)) @?= Succ Zero
-
-
-case_maybe_Nothing = maybe (1 :: Int) (+1) Nothing @?= 1
-
-case_maybe_Just = maybe 1 (+1) (Just 1) @?= 2
-
-case_maybe_Fail = maybe (1 :: Int) (+1) Fail @?= 1
-
-case_maybe_Success = maybe 1 (+1) (Success 1) @?= 2
-
-case_maybe_Zero = maybe (Succ Zero) Succ Zero @?= Succ Zero
-
-case_maybe_Succ = maybe (Succ Zero) Succ (Succ (Succ Zero)) 
-              @?= Succ (Succ Zero)
-
-case_isJust_Nothing = isJust Nothing @?= False
-
-case_isJust_Just = isJust (Just 'a') @?= True
-
-case_isJust_Fail = isJust Fail @?= False
- 
-case_isJust_Successs = isJust (Success 'a') @?= True
-
-case_isJust_Zero = isJust Zero @?= False
-
-case_isJust_Succ = isJust (Succ Zero) @?= True
-
-case_isNothing_Nothing = isNothing Nothing @?= True
-
-case_isNothing_Just = isNothing (Just 'a') @?= False
-
-case_isNothing_Fail = isNothing Fail @?= True
-
-case_isNothing_Success = isNothing (Success 'a') @?= False
- 
-case_isNothing_Zero = isNothing Zero @?= True
-
-case_isNothing_Succ = isNothing (Succ Zero) @?= False
-
-assertException :: (NFData a, Show a) => a -> IO ()
-assertException = assertBool "Expected exception: " 
-                . (isLeft :: Either SomeException a -> Bool)  
-                <=< try 
-                . evaluate
-                . force
-
-case_fromJust_Nothing = assertException (fromJust Nothing :: Char)
-
-case_fromJust_Just = fromJust (Just 'a') @?= 'a'
-
-case_fromJust_Fail = assertException (fromJust Fail :: Char)
-
-case_fromJust_Success = fromJust (Success 'a') @?= 'a'
-
-case_fromJust_Zero = assertException (fromJust Zero :: Nat)
-
-case_fromJust_Succ = fromJust (Succ Zero) @?= Zero
-
-case_listToMaybe_NonEmpty_Maybe = listToMaybe ['a', 'b'] @?= Just 'a'
-
-case_listToMaybe_Empty_Maybe = listToMaybe ([] :: [Char]) @?= Nothing
-
-case_listToMaybe_NonEmpty_Result = listToMaybe ['a', 'b'] @?= Success 'a'
-
-case_listToMaybe_Empty_Result = listToMaybe ([] :: [Char]) @?= Fail
-
-case_listToMaybe_NonEmpty_Nat = listToMaybe [Zero, Succ Zero] @?= Succ Zero
-
-case_listToMaybe_Empty_Nat = listToMaybe ([] :: [Nat]) @?= Zero
-
-case_maybeToList_Just = maybeToList (Just True) @?= [True]
-
-case_maybeToList_Nothing = maybeToList Nothing @?= ([] :: [Bool])
-
-case_maybeToList_Success = maybeToList (Success True) @?= [True]
-
-case_maybeToList_Fail = maybeToList Fail @?= ([] :: [Bool])
-
-case_maybeToList_Succ = maybeToList (Succ Zero) @?= [Zero]
-
-case_maybeToList_Zero = maybeToList Zero @?= [] 
-
-case_catMaybes_Maybe = catMaybes [Just True, Nothing, Just False] 
-                   @?= [True,False]
-
-case_catMaybes_Result = catMaybes [Success True, Fail, Success False]
-                    @?= [True,False]
-
-case_catMaybes_Nat = catMaybes [Succ Zero, Zero, Succ Zero]
-                 @?= [Zero,Zero]
-
-case_mapMaybe_Maybe 
-    = mapMaybe (\x -> if x then Just "True" else Nothing) [True, False, True]
-  @?= ["True","True"]
-
-case_mapMaybe_Result
-    = mapMaybe (\x -> if x then Success "True" else Fail) [True, False, True]
-  @?= ["True","True"]
-
-case_mapMaybe_Nat 
-   = mapMaybe (\x -> if x then Succ Zero else Zero) [True, False, True]
- @?= [Zero,Zero]
-
-case_convert_Just
-   = convert (Just 'a') @?= Success 'a'
-
-case_convert_Success 
-   = convert (Success 'a') @?= Just 'a'
-
-case_convert_Nat 
-   = convert (Success Zero) @?= Succ Zero
-
--- Check against Data.Maybe
-case_fromMaybe_Ref_Nothing = 
-   fromMaybe 'a' Nothing @?= M.fromMaybe 'a' Nothing
-
-case_fromMaybe_Ref_Just = 
-   fromMaybe 'a' (Just 'b') @?= M.fromMaybe 'a' (Just 'b')
-
-case_maybe_Ref_Nothing =
-   maybe (1 :: Int) (+1) Nothing @?= M.maybe (1 :: Int) (+1) Nothing
-
-case_maybe_Ref_Just =
-   maybe (1 :: Int) (+1) (Just 1) @?= M.maybe (1 :: Int) (+1) (Just 1)
-
-case_listToMaybe_Ref_Empty =
-   listToMaybe ([] :: [Char]) @?= M.listToMaybe [] 
-
-case_listToMaybe_Ref_NonEmpty = 
-   listToMaybe ['a', 'b'] @?= M.listToMaybe ['a', 'b']
-
-case_maybeToList_Ref_Nothing =
-   maybeToList (Nothing :: Maybe Char) @?= M.maybeToList Nothing
-
-case_maybeToList_Ref_Just = 
-   maybeToList (Just 'a') @?= M.maybeToList (Just 'a')
-   
-case_catMaybes_Ref 
-    = catMaybes [Just 'a', Nothing, Just 'b'] 
-  @?= M.catMaybes [Just 'a', Nothing, Just 'b'] 
-   
-case_mapMaybe_Ref 
-    = mapMaybe (\x -> if x then Just "True" else Nothing) [True, False, True]
-  @?= M.mapMaybe (\x -> if x then Just "True" else Nothing) [True, False, True]
-
-
-
-
-
-
-
-
