diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 1.2.3.1
+
+* Compatibility with `containers-0.6`.
+
 # 1.2.3
 
 * Added `Semigroup` instances for some types (h/t Herbert Valerio Riedel).
diff --git a/Data/IntMap/CharMap2.hs b/Data/IntMap/CharMap2.hs
--- a/Data/IntMap/CharMap2.hs
+++ b/Data/IntMap/CharMap2.hs
@@ -9,6 +9,11 @@
 import Data.Char as C(ord)
 import Data.List as L (map)
 import qualified Data.IntMap as M
+#if MIN_VERSION_containers(0,6,0)
+import qualified Data.IntMap.Internal.Debug as MD
+#else
+import qualified Data.IntMap as MD
+#endif
 import qualified Data.IntSet as S(IntSet)
 import Data.Semigroup as Sem
 
@@ -150,10 +155,10 @@
         f' a1 b a2 = f a1 (unsafeChr b) a2
 
 fold :: (a -> b -> b) -> b -> CharMap a -> b
-fold f a (CharMap m) = M.fold f a m
+fold f a (CharMap m) = M.foldr f a m
 
 foldWithKey :: (Key -> a -> b -> b) -> b -> CharMap a -> b
-foldWithKey f a (CharMap m) = M.foldWithKey f' a m
+foldWithKey f a (CharMap m) = M.foldrWithKey f' a m
   where f' b a1 a2 = f (unsafeChr b) a1 a2
 
 elems :: CharMap a -> [a]
@@ -250,10 +255,10 @@
 isProperSubmapOfBy f (CharMap m1) (CharMap m2) = M.isProperSubmapOfBy f m1 m2
 
 showTree :: Show a => CharMap a -> String
-showTree (CharMap m) = M.showTree m
+showTree (CharMap m) = MD.showTree m
 
 showTreeWith :: Show a => Bool -> Bool -> CharMap a -> String
-showTreeWith b1 b2 (CharMap m) = M.showTreeWith b1 b2 m
+showTreeWith b1 b2 (CharMap m) = MD.showTreeWith b1 b2 m
 {-# INLINE (!) #-}
 {-# INLINE (\\) #-}
 {-# INLINE null #-}
diff --git a/Data/IntMap/EnumMap2.hs b/Data/IntMap/EnumMap2.hs
--- a/Data/IntMap/EnumMap2.hs
+++ b/Data/IntMap/EnumMap2.hs
@@ -1,7 +1,14 @@
+{-# LANGUAGE CPP #-}
+
 module Data.IntMap.EnumMap2 where
 
 import Data.Foldable(Foldable(..))
 import qualified Data.IntMap as M
+#if MIN_VERSION_containers(0,6,0)
+import qualified Data.IntMap.Internal.Debug as MD
+#else
+import qualified Data.IntMap as MD
+#endif
 import qualified Data.IntSet.EnumSet2 as S (EnumSet(..))
 import Data.Semigroup as Sem
 import Prelude
@@ -144,10 +151,10 @@
         f' a1 b a2 = f a1 (toEnum b) a2
 
 fold :: (Enum key) => (a -> b -> b) -> b -> EnumMap key a -> b
-fold f a (EnumMap m) = M.fold f a m
+fold f a (EnumMap m) = M.foldr f a m
 
 foldWithKey :: (Enum key) => (key -> a -> b -> b) -> b -> EnumMap key a -> b
-foldWithKey f a (EnumMap m) = M.foldWithKey f' a m
+foldWithKey f a (EnumMap m) = M.foldrWithKey f' a m
   where f' b a1 a2 = f (toEnum b) a1 a2
 
 elems :: (Enum key) => EnumMap key a -> [a]
@@ -245,7 +252,7 @@
 isProperSubmapOfBy f (EnumMap m1) (EnumMap m2) = M.isProperSubmapOfBy f m1 m2
 
 showTree :: (Enum key,Show a) => EnumMap key a -> String
-showTree (EnumMap m) = M.showTree m
+showTree (EnumMap m) = MD.showTree m
 
 showTreeWith :: (Enum key,Show a) => Bool -> Bool -> EnumMap key a -> String
-showTreeWith b1 b2 (EnumMap m) = M.showTreeWith b1 b2 m
+showTreeWith b1 b2 (EnumMap m) = MD.showTreeWith b1 b2 m
diff --git a/regex-tdfa.cabal b/regex-tdfa.cabal
--- a/regex-tdfa.cabal
+++ b/regex-tdfa.cabal
@@ -1,5 +1,5 @@
 Name:                   regex-tdfa
-Version:                1.2.3
+Version:                1.2.3.1
 License:                BSD3
 License-File:           LICENSE
 Copyright:              Copyright (c) 2007, Christopher Kuklewicz
@@ -27,14 +27,14 @@
   manual: True
 
 library 
-  Build-Depends:        array >= 0.4
-                      , base >= 4 && < 5
-                      , bytestring
-                      , containers
+  Build-Depends:        array              >= 0.4 && < 0.6
+                      , base               >= 4 && < 5
+                      , bytestring         >= 0.10 && < 0.11
+                      , containers         >= 0.5 && < 0.7
                       , ghc-prim
-                      , mtl
-                      , parsec
-                      , regex-base >= 0.93.1
+                      , mtl                == 2.*
+                      , parsec             == 3.*
+                      , regex-base         >= 0.93.1
 
   -- Support Semigroup instances uniformly
   --
