diff --git a/genvalidity-unordered-containers.cabal b/genvalidity-unordered-containers.cabal
--- a/genvalidity-unordered-containers.cabal
+++ b/genvalidity-unordered-containers.cabal
@@ -1,5 +1,5 @@
 name: genvalidity-unordered-containers
-version: 0.0.0.0
+version: 0.1.0.0
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -25,11 +25,11 @@
     build-depends:
         base <5,
         QuickCheck -any,
-        genvalidity >=0.3 && <0.4,
+        genvalidity >=0.4 && <0.5,
         hashable -any,
         unordered-containers -any,
-        validity >=0.3 && <0.4,
-        validity-unordered-containers >=0.0 && <0.1
+        validity >=0.4 && <0.5,
+        validity-unordered-containers >=0.1 && <0.2
     default-language: Haskell2010
     hs-source-dirs: src
 
diff --git a/src/Data/GenValidity/HashMap.hs b/src/Data/GenValidity/HashMap.hs
--- a/src/Data/GenValidity/HashMap.hs
+++ b/src/Data/GenValidity/HashMap.hs
@@ -17,11 +17,13 @@
 instance (Hashable k, Eq k, GenUnchecked k, GenUnchecked v) =>
          GenUnchecked (HashMap k v) where
     genUnchecked = HM.fromList <$> genUnchecked
+    shrinkUnchecked = fmap HM.fromList . shrinkUnchecked . HM.toList
 
-instance (Hashable k, Eq k, GenValid k, GenValid v) => GenValid (HashMap k v) where
+instance (Hashable k, Eq k, GenValid k, GenValid v) =>
+         GenValid (HashMap k v) where
     genValid = HM.fromList <$> genValid
 
-instance (Hashable k, Eq k,GenInvalid k, GenInvalid v) =>
+instance (Hashable k, Eq k, GenInvalid k, GenInvalid v) =>
          GenInvalid (HashMap k v) where
     genInvalid =
         sized $ \n -> do
@@ -31,6 +33,6 @@
                     val <- resize v g2
                     rest <- resize m genUnchecked
                     pure $ HM.insert key val rest
-            oneof $ [go genInvalid genUnchecked, go genUnchecked genInvalid]
+            oneof [go genInvalid genUnchecked, go genUnchecked genInvalid]
     -- Note: HM.fromList <$> genInvalid does not work because of this line in the Data.HashMap documentation:
     -- 'If the list contains duplicate mappings, the later mappings take precedence.'
diff --git a/src/Data/GenValidity/HashSet.hs b/src/Data/GenValidity/HashSet.hs
--- a/src/Data/GenValidity/HashSet.hs
+++ b/src/Data/GenValidity/HashSet.hs
@@ -14,9 +14,10 @@
 
 instance (Hashable v, Eq v, GenUnchecked v) => GenUnchecked (HashSet v) where
     genUnchecked = HS.fromList <$> genUnchecked
+    shrinkUnchecked = fmap HS.fromList . shrinkUnchecked . HS.toList
 
 instance (Hashable v, Eq v, GenValid v) => GenValid (HashSet v) where
     genValid = HS.fromList <$> genValid
 
-instance (Hashable v,Eq v, GenInvalid v) => GenInvalid (HashSet v) where
+instance (Hashable v, Eq v, GenInvalid v) => GenInvalid (HashSet v) where
     genInvalid = HS.fromList <$> genInvalid
diff --git a/src/Data/GenValidity/UnorderedContainers.hs b/src/Data/GenValidity/UnorderedContainers.hs
--- a/src/Data/GenValidity/UnorderedContainers.hs
+++ b/src/Data/GenValidity/UnorderedContainers.hs
@@ -1,3 +1,4 @@
+{-# OPTIONS_GHC -fno-warn-dodgy-exports #-}
 module Data.GenValidity.UnorderedContainers
     ( module UnorderedContainers
     ) where
