diff --git a/representable-tries.cabal b/representable-tries.cabal
--- a/representable-tries.cabal
+++ b/representable-tries.cabal
@@ -1,6 +1,6 @@
 name:          representable-tries
 category:      Data Structures, Functors, Monads, Comonads
-version:       3.0
+version:       3.0.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -36,17 +36,17 @@
     UndecidableInstances
 
   build-depends:
-    adjunctions            == 3.0.*,
+    adjunctions            >= 3.0.0.1 && < 3.1,
     base                   >= 4       && < 5,
     bifunctors             == 3.0.*,
     comonad                == 3.0.*,
     comonad-transformers   == 3.0.*,
     containers             >= 0.3     && < 0.6,
     distributive           >= 0.2.2   && < 0.3,
-    keys                   == 3.0.*,
+    keys                   >= 3.0.0.1 && < 3.1,
     mtl                    >= 2.0.1   && < 2.2,
     transformers           >= 0.2     && < 0.4,
-    representable-functors == 3.0.*,
+    representable-functors >= 3.0.0.1 && < 3.1,
     semigroups             >= 0.8.3.1 && < 0.9,
     semigroupoids          == 3.0.*
 
diff --git a/src/Data/Functor/Representable/Trie.hs b/src/Data/Functor/Representable/Trie.hs
--- a/src/Data/Functor/Representable/Trie.hs
+++ b/src/Data/Functor/Representable/Trie.hs
@@ -301,7 +301,7 @@
 
 
 -- | Extract bits in little-endian order
-bits :: Bits t => t -> [Bool]
+bits :: (Num t, Bits t) => t -> [Bool]
 bits 0 = []
 bits x = testBit x 0 : bits (shiftR x 1)
 
@@ -311,17 +311,17 @@
 unbit True  = 1
 
 -- | Bit list to value
-unbits :: Bits t => [Bool] -> t
+unbits :: (Num t, Bits t) => [Bool] -> t
 unbits [] = 0
 unbits (x:xs) = unbit x .|. shiftL (unbits xs) 1
 
-unbitsZ :: (Bits n) => (Bool,[Bool]) -> n
+unbitsZ :: (Num n, Bits n) => (Bool,[Bool]) -> n
 unbitsZ (positive,bs) = sig (unbits bs)
  where
    sig | positive  = id
        | otherwise = negate
 
-bitsZ :: (Ord n, Bits n) => n -> (Bool,[Bool])
+bitsZ :: (Ord n, Num n, Bits n) => n -> (Bool,[Bool])
 bitsZ = (>= 0) &&& (bits . abs)
 
 -- TODO: fix the show instance of this
