diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,13 @@
+Version 0.3.0.2
+===============
+
+<https://github.com/mstksg/typelits-witnesses/releases/tag/v0.3.0.2>
+
+*March 30, 2018*
+
+*   Functions taking multiple `p m` in *GHC.TypeLits.Compare* now are able to
+    take different "proxy" types (`p` and `q`).
+
 Version 0.3.0.1
 ===============
 
diff --git a/src/GHC/TypeLits/Compare.hs b/src/GHC/TypeLits/Compare.hs
--- a/src/GHC/TypeLits/Compare.hs
+++ b/src/GHC/TypeLits/Compare.hs
@@ -100,7 +100,7 @@
 isLE
     :: (KnownNat m, KnownNat n)
     => p m
-    -> p n
+    -> q n
     -> Maybe ((m <=? n) :~: 'True)
 isLE m n = case m %<=? n of
              LE  Refl -> Just Refl
@@ -109,7 +109,7 @@
 isNLE
     :: (KnownNat m, KnownNat n)
     => p m
-    -> p n
+    -> q n
     -> Maybe ((m <=? n) :~: 'False)
 isNLE m n = case m %<=? n of
               NLE Refl Refl -> Just Refl
@@ -122,7 +122,7 @@
 (%<=?)
      :: (KnownNat m, KnownNat n)
      => p m
-     -> p n
+     -> q n
      -> (m :<=? n)
 m %<=? n | natVal m <= natVal n = LE  (unsafeCoerce Refl)
          | otherwise            = NLE (unsafeCoerce Refl) (unsafeCoerce Refl)
@@ -135,7 +135,7 @@
 cmpNat
     :: (KnownNat m, KnownNat n)
     => p m
-    -> p n
+    -> q n
     -> SCmpNat m n
 cmpNat m n = case compare (natVal m) (natVal n) of
                LT -> CLT (unsafeCoerce Refl)
diff --git a/typelits-witnesses.cabal b/typelits-witnesses.cabal
--- a/typelits-witnesses.cabal
+++ b/typelits-witnesses.cabal
@@ -1,5 +1,5 @@
 name:                typelits-witnesses
-version:             0.3.0.1
+version:             0.3.0.2
 synopsis:            Existential witnesses, singletons, and classes for operations on GHC TypeLits
 description:         Provides witnesses for 'KnownNat' and 'KnownSymbol'
                      instances for various operations on GHC TypeLits - in
