diff --git a/ixset.cabal b/ixset.cabal
--- a/ixset.cabal
+++ b/ixset.cabal
@@ -1,5 +1,5 @@
 Name:                ixset
-Version:             1.1
+Version:             1.1.1
 Synopsis:            Efficient relational queries on Haskell sets.
 Description:
     Create and query sets that are indexed by multiple indices.
@@ -11,41 +11,29 @@
 Category:            Data Structures
 Build-Type:          Simple
 Cabal-Version:       >= 1.10
-tested-with:         GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2
+tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC==8.6.1
 
 source-repository head
     type:     git
     location: https://github.com/Happstack/ixset.git
 
-flag base4
-
 Library
-  if flag(base4)
-    Build-Depends:     base >=4 && < 5, syb
-  else
-    Build-Depends:     base < 4
+  Build-Depends:     base >=4.7 && < 5, syb
 
-  if impl(ghc < 8.4)
+  if !impl(ghc >= 8.0)
     build-depends: semigroups == 0.18.*
-  if impl(ghc >= 6.12.1)
-    Build-Depends:    syb-with-class >= 0.6.1
-  else
-    Build-Depends:    syb-with-class < 0.6.1
 
-
-  Build-Depends:       containers,
+  Build-Depends:       containers >=0.5.5.1,
                        safecopy,
-                       template-haskell
+                       template-haskell,
+                       syb-with-class >= 0.6.1
 
   hs-source-dirs:      src
   Exposed-modules:
                        Data.IxSet
                        Data.IxSet.Ix
 
-  if impl(ghc >= 6.12)
-     ghc-options:      -Wall -fno-warn-unused-do-bind
-  else
-     ghc-options:      -Wall
+  ghc-options:      -Wall -fno-warn-unused-do-bind
   default-language: Haskell2010
 
 Test-Suite test-ixset
diff --git a/src/Data/IxSet/Ix.hs b/src/Data/IxSet/Ix.hs
--- a/src/Data/IxSet/Ix.hs
+++ b/src/Data/IxSet/Ix.hs
@@ -23,7 +23,7 @@
 import qualified Data.Generics.SYB.WithClass.Basics as SYBWC
 import           Data.List  (foldl')
 import           Data.Map   (Map)
-import qualified Data.Map   as Map
+import qualified Data.Map.Strict as Map
 import           Data.Set   (Set)
 import qualified Data.Set   as Set
 
@@ -66,7 +66,7 @@
 -- 'Map', then a new 'Set' is added transparently.
 insert :: (Ord a, Ord k)
        => k -> a -> Map k (Set a) -> Map k (Set a)
-insert k v index = Map.insertWith' Set.union k (Set.singleton v) index
+insert k v index = Map.insertWith Set.union k (Set.singleton v) index
 
 -- | Helper function to 'insert' a list of elements into a set.
 insertList :: (Ord a, Ord k)
