diff --git a/Numeric/Additive/Class.hs b/Numeric/Additive/Class.hs
--- a/Numeric/Additive/Class.hs
+++ b/Numeric/Additive/Class.hs
@@ -15,8 +15,9 @@
 
 import Data.Int
 import Data.Word
+import Data.Foldable hiding (concat)
 import Data.Semigroup.Foldable
-import Data.Key hiding (concat)
+import Data.Key
 import Data.Functor.Representable
 import Data.Functor.Representable.Trie
 -- import Data.Foldable hiding (concat)
diff --git a/Numeric/Algebra/Class.hs b/Numeric/Algebra/Class.hs
--- a/Numeric/Algebra/Class.hs
+++ b/Numeric/Algebra/Class.hs
@@ -28,11 +28,12 @@
 import Data.Int
 import Data.IntMap (IntMap)
 import Data.IntSet (IntSet)
-import Data.Key hiding (sum)
+import Data.Key
 import Data.Map (Map)
 import Data.Monoid (mappend)
 -- import Data.Semigroup.Foldable
 import Data.Sequence hiding (reverse,index)
+import Data.Semigroup.Foldable
 import Data.Set (Set)
 import Data.Word
 import Numeric.Additive.Class
diff --git a/Numeric/Algebra/Complex.hs b/Numeric/Algebra/Complex.hs
--- a/Numeric/Algebra/Complex.hs
+++ b/Numeric/Algebra/Complex.hs
@@ -25,6 +25,7 @@
 import Data.Ix hiding (index)
 import Data.Key
 import Data.Monoid
+import Data.Semigroup
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
 import Data.Traversable
diff --git a/Numeric/Algebra/Dual.hs b/Numeric/Algebra/Dual.hs
--- a/Numeric/Algebra/Dual.hs
+++ b/Numeric/Algebra/Dual.hs
@@ -15,7 +15,8 @@
 import Data.Functor.Representable.Trie
 import Data.Foldable
 import Data.Ix
-import Data.Key hiding (Dual)
+import Data.Key
+import Data.Semigroup hiding (Dual)
 import Data.Monoid hiding (Dual)
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
diff --git a/Numeric/Algebra/Hyperbolic.hs b/Numeric/Algebra/Hyperbolic.hs
--- a/Numeric/Algebra/Hyperbolic.hs
+++ b/Numeric/Algebra/Hyperbolic.hs
@@ -18,6 +18,7 @@
 import Data.Monoid
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
+import Data.Semigroup
 import Data.Traversable
 import Numeric.Algebra
 import Numeric.Coalgebra.Hyperbolic.Class
diff --git a/Numeric/Algebra/Quaternion.hs b/Numeric/Algebra/Quaternion.hs
--- a/Numeric/Algebra/Quaternion.hs
+++ b/Numeric/Algebra/Quaternion.hs
@@ -27,6 +27,7 @@
 import Data.Foldable
 import Data.Traversable
 import Data.Monoid
+import Data.Semigroup
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
 import Numeric.Algebra
diff --git a/Numeric/Coalgebra/Dual.hs b/Numeric/Coalgebra/Dual.hs
--- a/Numeric/Coalgebra/Dual.hs
+++ b/Numeric/Coalgebra/Dual.hs
@@ -19,6 +19,7 @@
 import Data.Monoid
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
+import Data.Semigroup
 import Data.Traversable
 import Numeric.Algebra
 import Numeric.Algebra.Distinguished.Class
diff --git a/Numeric/Coalgebra/Hyperbolic.hs b/Numeric/Coalgebra/Hyperbolic.hs
--- a/Numeric/Coalgebra/Hyperbolic.hs
+++ b/Numeric/Coalgebra/Hyperbolic.hs
@@ -18,6 +18,7 @@
 import Data.Monoid
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
+import Data.Semigroup
 import Data.Traversable
 import Numeric.Algebra
 import Numeric.Coalgebra.Hyperbolic.Class
diff --git a/Numeric/Coalgebra/Quaternion.hs b/Numeric/Coalgebra/Quaternion.hs
--- a/Numeric/Coalgebra/Quaternion.hs
+++ b/Numeric/Coalgebra/Quaternion.hs
@@ -29,6 +29,7 @@
 import Data.Monoid
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
+import Data.Semigroup
 import Numeric.Algebra
 import Numeric.Algebra.Distinguished.Class
 import Numeric.Algebra.Complex.Class
diff --git a/Numeric/Coalgebra/Trigonometric.hs b/Numeric/Coalgebra/Trigonometric.hs
--- a/Numeric/Coalgebra/Trigonometric.hs
+++ b/Numeric/Coalgebra/Trigonometric.hs
@@ -23,6 +23,7 @@
 import Data.Monoid
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
+import Data.Semigroup
 import Data.Traversable
 import Numeric.Algebra
 import Prelude hiding ((-),(+),(*),negate,subtract, fromInteger, sin, cos)
diff --git a/Numeric/Map.hs b/Numeric/Map.hs
--- a/Numeric/Map.hs
+++ b/Numeric/Map.hs
@@ -26,7 +26,7 @@
 import Control.Category.Monoidal (Id)
 import Control.Monad
 import Control.Monad.Reader.Class
-import Data.Key hiding (Sum)
+import Data.Key
 import Data.Functor.Representable
 import Data.Functor.Representable.Trie 
 import Data.Functor.Bind
diff --git a/algebra.cabal b/algebra.cabal
--- a/algebra.cabal
+++ b/algebra.cabal
@@ -1,6 +1,6 @@
 name:          algebra
 category:      Math, Algebra
-version:       2.0
+version:       2.0.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -40,7 +40,7 @@
     tagged                  >= 0.2.2.3 && < 0.3,
     categories              >= 0.58.0  && < 0.59,
     containers              >= 0.3     && < 0.5,
-    keys                    >= 2.0     && < 2.1,
+    keys                    >= 2.1     && < 2.2,
     mtl                     >= 2.0     && < 2.1,
     semigroups              >= 0.7.1   && < 0.8,
     semigroupoids           >= 1.2.4   && < 1.3,
