diff --git a/executable/Main.hs b/executable/Main.hs
--- a/executable/Main.hs
+++ b/executable/Main.hs
@@ -3,9 +3,8 @@
 
 import Control.Monad (when)
 import Data.Maybe (fromMaybe)
-import Test.Tasty.Config (parseConfig)
+import Test.Tasty.Config (Config(..), parseConfig)
 import Test.Tasty.Discover (findTests, generateTestDriver)
-import Test.Tasty.Type (Config(..))
 import System.Environment (getArgs, getProgName)
 import System.Exit (exitFailure)
 import System.IO (hPutStrLn, stderr)
diff --git a/library/Test/Tasty/Config.hs b/library/Test/Tasty/Config.hs
--- a/library/Test/Tasty/Config.hs
+++ b/library/Test/Tasty/Config.hs
@@ -1,10 +1,24 @@
 -- Configuration options module.
-module Test.Tasty.Config (parseConfig, defaultConfig) where
+module Test.Tasty.Config
+  ( Config(..)
+  , parseConfig
+  , defaultConfig
+  ) where
 
 import System.Console.GetOpt (ArgDescr(ReqArg, NoArg) , OptDescr(Option),
                               ArgOrder(Permute), getOpt)
 import Data.Maybe (isJust)
-import Test.Tasty.Type (Config(..))
+
+type Ingredient = String
+
+data Config = Config
+  { moduleSuffix        :: Maybe String
+  , generatedModuleName :: Maybe String
+  , ignoredModules      :: [FilePath]
+  , tastyIngredients    :: [Ingredient]
+  , noModuleSuffix      :: Bool
+  , debug               :: Bool
+  } deriving (Show)
 
 -- | The default configuration
 defaultConfig :: Config
diff --git a/library/Test/Tasty/Discover.hs b/library/Test/Tasty/Discover.hs
--- a/library/Test/Tasty/Discover.hs
+++ b/library/Test/Tasty/Discover.hs
@@ -5,8 +5,9 @@
 import System.Directory (getDirectoryContents, doesDirectoryExist)
 import Data.Traversable (for)
 import System.FilePath ((</>), takeDirectory)
-import Test.Tasty.Generator (generators, showSetup, getGenerators)
-import Test.Tasty.Type (Config(..), Generator(..), Test(..), mkTest)
+import Test.Tasty.Generator (Generator(..), Test(..), mkTest,
+                             generators, showSetup, getGenerators)
+import Test.Tasty.Config (Config(..))
 
 generateTestDriver :: String -> [String] -> FilePath -> [Test] -> String
 generateTestDriver modname is src tests =
diff --git a/library/Test/Tasty/Generator.hs b/library/Test/Tasty/Generator.hs
--- a/library/Test/Tasty/Generator.hs
+++ b/library/Test/Tasty/Generator.hs
@@ -1,14 +1,33 @@
 module Test.Tasty.Generator
-  ( generators
+  ( Generator(..)
+  , generators
   , showSetup
   , getGenerator
   , getGenerators
+  , Test(..)
+  , mkTest,
   ) where
 
-import Test.Tasty.Type (Test(..), Generator(..))
 import Data.List (find, isPrefixOf, groupBy, sortOn)
 import Data.Function (on)
 import Data.Maybe (fromJust)
+import System.FilePath (pathSeparator, dropExtension)
+
+data Test = Test
+  { testModule   :: String
+  , testFunction :: String
+  } deriving (Eq, Show)
+
+mkTest :: FilePath -> String -> Test
+mkTest = Test . chooser pathSeparator '.' . dropExtension
+  where chooser c1 c2 = map $ \c3 -> if c3 == c1 then c2 else c3
+
+data Generator = Generator
+  { generatorPrefix  :: String
+  , generatorImport  :: String
+  , generatorClass   :: String
+  , generatorSetup   :: Test -> String
+  }
 
 qualifyFunction :: Test -> String
 qualifyFunction t = testModule t ++ "." ++ testFunction t
diff --git a/library/Test/Tasty/Type.hs b/library/Test/Tasty/Type.hs
deleted file mode 100644
--- a/library/Test/Tasty/Type.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-module Test.Tasty.Type
-  ( Test(..)
-  , mkTest
-  , Generator(..)
-  , Config(..)
-  ) where
-
-import System.FilePath (pathSeparator, dropExtension)
-
-data Test = Test
-  { testModule   :: String
-  , testFunction :: String
-  } deriving Show
-
-instance Eq Test where
-  t1 == t2 = testModule t1 == testModule t2 && testFunction t1 == testFunction t2
-
-mkTest :: FilePath -> String -> Test
-mkTest = Test . chooser pathSeparator '.' . dropExtension
-  where chooser c1 c2 = map $ \c3 -> if c3 == c1 then c2 else c3
-
-data Generator = Generator
-  { generatorPrefix  :: String
-  , generatorImport  :: String
-  , generatorClass   :: String
-  , generatorSetup   :: Test -> String
-  }
-
-instance Show Generator where
-  show generator = concat
-    [ generatorPrefix generator
-    , generatorImport generator
-    , generatorClass  generator
-    , "<function:generatorSetup :: Test -> String>"
-    ]
-
-type Ingredient = String
-
-data Config = Config
-  { moduleSuffix        :: Maybe String
-  , generatedModuleName :: Maybe String
-  , ignoredModules      :: [FilePath]
-  , tastyIngredients    :: [Ingredient]
-  , noModuleSuffix      :: Bool
-  , debug               :: Bool
-  } deriving (Show)
diff --git a/tasty-discover.cabal b/tasty-discover.cabal
--- a/tasty-discover.cabal
+++ b/tasty-discover.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           tasty-discover
-version:        2.0.0
+version:        2.0.1
 synopsis:       Test discovery for the tasty framework.
 description:    Test discovery for the tasty framework.
 category:       Testing
@@ -34,7 +34,6 @@
       Test.Tasty.Config
       Test.Tasty.Discover
       Test.Tasty.Generator
-      Test.Tasty.Type
   default-language: Haskell2010
 
 executable tasty-discover
diff --git a/test/ConfigTest.hs b/test/ConfigTest.hs
--- a/test/ConfigTest.hs
+++ b/test/ConfigTest.hs
@@ -3,35 +3,29 @@
 import Data.List (isInfixOf)
 import Test.Tasty.Discover (findTests, generateTestDriver)
 import Test.Tasty.HUnit
-import Test.Tasty.Type
+import Test.Tasty.Config
+import Test.Tasty.Generator (mkTest)
 
 case_noModuleSuffixEmptyList :: IO ()
 case_noModuleSuffixEmptyList = do
-  actual <- findTests "test/SubMod/" config
+  actual <- findTests "test/SubMod/" (defaultConfig { moduleSuffix = Just "DoesntExist"})
   actual @?= []
-  where
-    config = Config (Just "DoesntExist") Nothing [] [] False False
 
 case_differentGeneratedModule :: Assertion
-case_differentGeneratedModule = assertBool "Specified module is used" test
-  where test = "FunkyModuleName" `isInfixOf` generatedModule
-        generatedModule = generateTestDriver "FunkyModuleName" [] "test/" []
+case_differentGeneratedModule = assertBool "" ("FunkyModuleName" `isInfixOf` generatedModule)
+  where generatedModule = generateTestDriver "FunkyModuleName" [] "test/" []
 
 case_ignoreAModule :: IO ()
 case_ignoreAModule = do
-  actual <- findTests "test/SubMod/" config
+  actual <- findTests "test/SubMod/" (defaultConfig { ignoredModules = ["PropTest"] })
   actual @?= []
-  where
-    config = Config Nothing Nothing ["PropTest"] [] False False
 
 case_noModuleSuffix :: IO ()
 case_noModuleSuffix  = do
-  actual1 <- findTests "test/SubMod/" config1
+  actual1 <- findTests "test/SubMod/" defaultConfig
   actual1 @?= [mkTest "PropTest" "prop_addition_is_associative"]
 
-  actual2 <- findTests "test/SubMod/" config2
-  actual2 @?= [ mkTest "FooBaz" "prop_addition_is_commutative"
-             , mkTest "PropTest" "prop_addition_is_associative" ]
-  where
-    config1 = Config Nothing Nothing [] [] False False
-    config2 = Config Nothing Nothing [] [] True False
+  actual2 <- findTests "test/SubMod/" (defaultConfig { noModuleSuffix = True })
+  let expected = [ mkTest "FooBaz" "prop_addition_is_commutative"
+                 , mkTest "PropTest" "prop_addition_is_associative" ]
+  assertBool "" $ all (`elem` expected) actual2
diff --git a/test/SubMod/FooBaz.hs b/test/SubMod/FooBaz.hs
--- a/test/SubMod/FooBaz.hs
+++ b/test/SubMod/FooBaz.hs
@@ -1,4 +1,4 @@
-module FooBaz where
+module SubMod.FooBaz where
 
 prop_addition_is_commutative :: Int -> Int -> Bool
 prop_addition_is_commutative a b = a + b == b + a
