diff --git a/Random.hs b/Random.hs
--- a/Random.hs
+++ b/Random.hs
@@ -57,9 +57,6 @@
 instance {-# OVERLAPPABLE #-} (Bounded a, Enum a) => Uniform a where
     liftUniform = range' (minBound, maxBound)
 
-instance Uniform () where
-    liftUniform _ = pure ()
-
 range :: (Gen g, Bounded (Native g), Enum (Native g), Enum a) => (a, a) -> M.State g a
 range = flip range' uniformNative
 
@@ -80,7 +77,8 @@
         card_a = L.genericLength [a..b]
 
 {-# INLINE[1] range' #-}
-{-# RULES "range'" range' = pure id #-}
+{-# RULES "range'/()" range' = (pure . pure . pure) () #-}
+{-# RULES "range'"    range' = pure id #-}
 
 weighted :: (Gen g, Bounded (Native g), Enum (Native g), Uniform a)
          => NonEmpty (a, Ratio Natural) -> M.State g a
diff --git a/random-class.cabal b/random-class.cabal
--- a/random-class.cabal
+++ b/random-class.cabal
@@ -1,5 +1,5 @@
 name:                random-class
-version:             0.2.0.0
+version:             0.2.0.1
 synopsis:            Class of random value generation
 -- description:         
 license:             BSD3
