diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# Version 0.2
+
+* Depend on `singletons-2.2`, which means `KProxy` is gone.
+
+
 # Version 0.1.0.2
 
 * Relax upper bound on `base`, `singletons`, `constraints`.
diff --git a/exinst-hashable.cabal b/exinst-hashable.cabal
--- a/exinst-hashable.cabal
+++ b/exinst-hashable.cabal
@@ -1,5 +1,5 @@
 name:                exinst-hashable
-version:             0.1.0.2
+version:             0.2
 author:              Renzo Carbonara
 maintainer:          renzoλcarbonara.com.ar
 copyright:           Renzo Carbonara 2015-2016
@@ -19,10 +19,10 @@
   exposed-modules:
       Exinst.Instances.Hashable
   build-depends:
-      base >=4.7 && <5.0
+      base >=4.9 && <5.0
     , hashable >=1.2 && <1.3
     , constraints >=0.4 && <0.9
-    , exinst >=0.1 && <0.2
-    , singletons >=1.1 && <2.2
+    , exinst >=0.2 && <0.3
+    , singletons >=2.2 && <2.3
   ghcjs-options: -Wall -O3
   ghc-options: -Wall -O2
diff --git a/src/lib/Exinst/Instances/Hashable.hs b/src/lib/Exinst/Instances/Hashable.hs
--- a/src/lib/Exinst/Instances/Hashable.hs
+++ b/src/lib/Exinst/Instances/Hashable.hs
@@ -28,8 +28,8 @@
 --------------------------------------------------------------------------------
 
 instance forall (f1 :: k1 -> *)
-  . ( SingKind ('KProxy :: KProxy k1)
-    , Hashable (DemoteRep ('KProxy :: KProxy k1))
+  . ( SingKind k1
+    , Hashable (DemoteRep k1)
     , Dict1 Hashable f1
     ) => Hashable (Some1 f1)
   where
@@ -41,10 +41,10 @@
                        `hashWithSalt` x
 
 instance forall (f2 :: k2 -> k1 -> *)
-  . ( SingKind ('KProxy :: KProxy k2)
-    , SingKind ('KProxy :: KProxy k1)
-    , Hashable (DemoteRep ('KProxy :: KProxy k2))
-    , Hashable (DemoteRep ('KProxy :: KProxy k1))
+  . ( SingKind k2
+    , SingKind k1
+    , Hashable (DemoteRep k2)
+    , Hashable (DemoteRep k1)
     , Dict2 Hashable f2
     ) => Hashable (Some2 f2)
   where
@@ -57,12 +57,12 @@
                        `hashWithSalt` x
 
 instance forall (f3 :: k3 -> k2 -> k1 -> *)
-  . ( SingKind ('KProxy :: KProxy k3)
-    , SingKind ('KProxy :: KProxy k2)
-    , SingKind ('KProxy :: KProxy k1)
-    , Hashable (DemoteRep ('KProxy :: KProxy k3))
-    , Hashable (DemoteRep ('KProxy :: KProxy k2))
-    , Hashable (DemoteRep ('KProxy :: KProxy k1))
+  . ( SingKind k3
+    , SingKind k2
+    , SingKind k1
+    , Hashable (DemoteRep k3)
+    , Hashable (DemoteRep k2)
+    , Hashable (DemoteRep k1)
     , Dict3 Hashable f3
     ) => Hashable (Some3 f3)
   where
@@ -76,14 +76,14 @@
                        `hashWithSalt` x
 
 instance forall (f4 :: k4 -> k3 -> k2 -> k1 -> *)
-  . ( SingKind ('KProxy :: KProxy k4)
-    , SingKind ('KProxy :: KProxy k3)
-    , SingKind ('KProxy :: KProxy k2)
-    , SingKind ('KProxy :: KProxy k1)
-    , Hashable (DemoteRep ('KProxy :: KProxy k4))
-    , Hashable (DemoteRep ('KProxy :: KProxy k3))
-    , Hashable (DemoteRep ('KProxy :: KProxy k2))
-    , Hashable (DemoteRep ('KProxy :: KProxy k1))
+  . ( SingKind k4
+    , SingKind k3
+    , SingKind k2
+    , SingKind k1
+    , Hashable (DemoteRep k4)
+    , Hashable (DemoteRep k3)
+    , Hashable (DemoteRep k2)
+    , Hashable (DemoteRep k1)
     , Dict4 Hashable f4
     ) => Hashable (Some4 f4)
   where
