diff --git a/src/Network/Routing.hs b/src/Network/Routing.hs
--- a/src/Network/Routing.hs
+++ b/src/Network/Routing.hs
@@ -95,7 +95,7 @@
 import Prelude hiding(any)
 import Control.Monad(MonadPlus(..))
 
-import Network.Routing.Compat(KnownSymbol, symbolVal)
+import GHC.TypeLits.Compat(KnownSymbol, symbolVal)
 import qualified Network.Routing.Dict.Internal as D
 import qualified Data.Text as T
 import qualified Data.HashMap.Strict as H
diff --git a/src/Network/Routing/Compat.hs b/src/Network/Routing/Compat.hs
deleted file mode 100644
--- a/src/Network/Routing/Compat.hs
+++ /dev/null
@@ -1,29 +0,0 @@
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE ExplicitNamespaces #-}
-{-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE ConstraintKinds #-}
-{-# LANGUAGE KindSignatures #-}
-{-# LANGUAGE Rank2Types #-}
-{-# LANGUAGE DataKinds #-}
-{-# LANGUAGE PolyKinds #-}
-{-# LANGUAGE CPP #-}
-
--- | compatibility module for ghc-7.8 & ghc-7.6.
-module Network.Routing.Compat
-    ( Symbol, KnownSymbol, symbolVal
-    , Proxy(..)
-    ) where
-
-import GHC.TypeLits
-
-#if __GLASGOW_HASKELL__ > 707
-import Data.Proxy
-#else
-type KnownSymbol (n :: Symbol) = SingRep n String
-
-symbolVal :: forall n proxy. KnownSymbol n => proxy n -> String
-symbolVal _ = fromSing (sing :: Sing n)
-{-# INLINE symbolVal #-}
-
-data Proxy (t :: k) = Proxy
-#endif
diff --git a/src/Network/Routing/Dict/Internal.hs b/src/Network/Routing/Dict/Internal.hs
--- a/src/Network/Routing/Dict/Internal.hs
+++ b/src/Network/Routing/Dict/Internal.hs
@@ -30,8 +30,8 @@
 
 import GHC.Exts(Any)
 
-import GHC.TypeLits
-import Network.Routing.Compat
+import Data.Proxy.Compat
+import GHC.TypeLits.Compat
 import Data.Typeable(typeOf, Typeable, TypeRep)
 import Data.List(intercalate)
 import Unsafe.Coerce
diff --git a/web-routing.cabal b/web-routing.cabal
--- a/web-routing.cabal
+++ b/web-routing.cabal
@@ -1,5 +1,5 @@
 name:                web-routing
-version:             0.4.2
+version:             0.5.0
 synopsis:            simple routing library
 -- description:         
 license:             MIT
@@ -16,13 +16,13 @@
 library
   exposed-modules:     Network.Routing
                        Network.Routing.Dict
-  other-modules:       Network.Routing.Compat
-                       Network.Routing.Dict.Internal
+  other-modules:       Network.Routing.Dict.Internal
   build-depends:       base                 >=4.6  && <4.8
                      , bytestring           >=0.10 && <0.11
                      , text                 >=1.1  && <1.3 
                      , unordered-containers >=0.2  && <0.3
                      , primitive            >=0.5  && <0.6
+                     , types-compat         >=0.1  && <0.2
   ghc-options:         -O2 -Wall
   hs-source-dirs:      src
   default-language:    Haskell2010
