diff --git a/src/Language/Lexer/Tlex/Pipeline/Dfa2Runner.hs b/src/Language/Lexer/Tlex/Pipeline/Dfa2Runner.hs
--- a/src/Language/Lexer/Tlex/Pipeline/Dfa2Runner.hs
+++ b/src/Language/Lexer/Tlex/Pipeline/Dfa2Runner.hs
@@ -4,8 +4,8 @@
 
 import           Language.Lexer.Tlex.Prelude
 
+import qualified Data.EnumMap.Strict                 as EnumMap
 import qualified Data.IntMap                         as IntMap
-import qualified Language.Lexer.Tlex.Data.EnumMap    as EnumMap
 import qualified Language.Lexer.Tlex.Machine.DFA     as DFA
 import qualified Language.Lexer.Tlex.Machine.Pattern as Pattern
 import qualified Language.Lexer.Tlex.Machine.State   as MState
diff --git a/src/Language/Lexer/Tlex/Pipeline/Scanner2Nfa.hs b/src/Language/Lexer/Tlex/Pipeline/Scanner2Nfa.hs
--- a/src/Language/Lexer/Tlex/Pipeline/Scanner2Nfa.hs
+++ b/src/Language/Lexer/Tlex/Pipeline/Scanner2Nfa.hs
@@ -5,7 +5,7 @@
 
 import           Language.Lexer.Tlex.Prelude
 
-import qualified Language.Lexer.Tlex.Data.EnumMap         as EnumMap
+import qualified Data.EnumMap.Strict                      as EnumMap
 import qualified Language.Lexer.Tlex.Machine.NFA          as NFA
 import qualified Language.Lexer.Tlex.Machine.Pattern      as Pattern
 import qualified Language.Lexer.Tlex.Machine.State        as MState
diff --git a/test/doctest/Doctest.hs b/test/doctest/Doctest.hs
--- a/test/doctest/Doctest.hs
+++ b/test/doctest/Doctest.hs
@@ -3,10 +3,11 @@
 import           Prelude
 
 import qualified Build_doctests     as BuildF
+import qualified Control.Exception  as Exception
 import           Control.Monad
 import qualified System.Environment as IO
 import qualified System.IO          as IO
-import           Test.DocTest       (doctest)
+import qualified Test.DocTest       as DocTest
 
 main :: IO ()
 main = forM_ BuildF.components \(BuildF.Component name flags pkgs sources) -> do
@@ -16,6 +17,7 @@
   IO.hFlush IO.stdout
   let args = flags ++ pkgs ++ sources
   IO.unsetEnv "GHC_ENVIRONMENT"
-  doctest args
+  DocTest.doctest args `Exception.catch`
+    \(e :: Exception.SomeException) -> print e
   putStrLn "============================================="
   IO.hFlush IO.stdout
diff --git a/tlex.cabal b/tlex.cabal
--- a/tlex.cabal
+++ b/tlex.cabal
@@ -2,7 +2,7 @@
 build-type:          Custom
 
 name:                tlex
-version:             0.2.0.0
+version:             0.3.0.0
 license:             Apache-2.0 OR MPL-2.0
 license-file:        LICENSE
 copyright:           (c) 2020 Mizunashi Mana
@@ -91,8 +91,9 @@
         base                 >= 4.12.0 && < 4.15,
 
         -- project depends
-        tlex-core            >= 0.1.0 && < 0.3,
+        tlex-core            >= 0.3.0 && < 0.4,
         containers           >= 0.6.0 && < 0.7,
+        enummapset-th        >= 0.6.0 && < 0.7,
 
     autogen-modules:
         Paths_tlex
@@ -117,9 +118,6 @@
         Language.Lexer.Tlex.Pipeline.Scanner2Nfa
         Language.Lexer.Tlex.Pipeline.Dfa2Runner
         Language.Lexer.Tlex.Data.InputString
-    reexported-modules:
-        tlex-core:Language.Lexer.Tlex.Data.EnumSet,
-        tlex-core:Language.Lexer.Tlex.Data.SymEnumSet
 
 test-suite doctest
     import:
