diff --git a/library/StmHamt/Hamt.hs b/library/StmHamt/Hamt.hs
--- a/library/StmHamt/Hamt.hs
+++ b/library/StmHamt/Hamt.hs
@@ -15,7 +15,7 @@
 )
 where
 
-import StmHamt.Prelude hiding (empty, insert, update, lookup, delete)
+import StmHamt.Prelude hiding (empty, insert, update, lookup, delete, null)
 import StmHamt.Types
 import qualified Focus as Focus
 import qualified StmHamt.Focuses as Focuses
@@ -123,3 +123,8 @@
 
 unfoldM :: Hamt a -> UnfoldM STM a
 unfoldM = UnfoldMs.hamtElements
+
+null :: Hamt a -> STM Bool
+null (Hamt branchSsaVar) = do
+  branchSsa <- readTVar branchSsaVar
+  return (SparseSmallArray.null branchSsa)
diff --git a/stm-hamt.cabal b/stm-hamt.cabal
--- a/stm-hamt.cabal
+++ b/stm-hamt.cabal
@@ -1,7 +1,7 @@
 name:
   stm-hamt
 version:
-  1
+  1.1
 synopsis:
   STM-specialised Hash Array Mapped Trie
 description:
@@ -61,7 +61,7 @@
     focus >=1 && <1.1,
     hashable <2,
     primitive >=0.6.4 && <0.7,
-    primitive-extras >=0.5 && <0.6
+    primitive-extras >=0.5.1 && <0.6
 
 test-suite test
   type:
