diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.3.1 (2022-07-04)
+  * update refined (polykind predicate)
+
 ## 0.3.0 (2022-06-08)
   * switch to associated type family for `Weak` inside `Weaken` - `Strengthen`
     now has `Weaken` as a superclass
diff --git a/src/Strongweak/Strengthen.hs b/src/Strongweak/Strengthen.hs
--- a/src/Strongweak/Strengthen.hs
+++ b/src/Strongweak/Strengthen.hs
@@ -137,11 +137,7 @@
           Just s  -> Success s
 
 -- | Obtain a refined type by applying its associated refinement.
-#ifdef REFINED_POLYKIND
 instance (Predicate (p :: k) a, Typeable k, Typeable a, Show a) => Strengthen (Refined p a) where
-#else
-instance (Predicate p a, Typeable p, Typeable a, Show a) => Strengthen (Refined p a) where
-#endif
     strengthen a =
         case refine a of
           Left  err -> strengthenFailBase a (show err)
diff --git a/strongweak.cabal b/strongweak.cabal
--- a/strongweak.cabal
+++ b/strongweak.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           strongweak
-version:        0.3.0
+version:        0.3.1
 synopsis:       Convert between strong and weak representations of types
 description:    Please see README.md.
 category:       Data
@@ -26,11 +26,6 @@
   type: git
   location: https://github.com/raehik/strongweak
 
-flag refined-polykind
-  description: assume predicate p in Refined p a is polykinded
-  manual: True
-  default: False
-
 library
   exposed-modules:
       Strongweak
@@ -46,13 +41,12 @@
       src
   default-extensions:
       EmptyCase
-      FlexibleContexts
-      FlexibleInstances
-      InstanceSigs
-      MultiParamTypeClasses
-      PolyKinds
       LambdaCase
+      InstanceSigs
+      BangPatterns
+      ExplicitNamespaces
       DerivingStrategies
+      DerivingVia
       StandaloneDeriving
       DeriveAnyClass
       DeriveGeneric
@@ -61,31 +55,30 @@
       DeriveFoldable
       DeriveTraversable
       DeriveLift
-      ImportQualifiedPost
-      StandaloneKindSignatures
-      DerivingVia
+      FlexibleContexts
+      FlexibleInstances
+      MultiParamTypeClasses
+      GADTs
+      PolyKinds
       RoleAnnotations
+      RankNTypes
       TypeApplications
-      DataKinds
-      TypeFamilies
-      TypeOperators
-      BangPatterns
-      GADTs
       DefaultSignatures
-      RankNTypes
-      UndecidableInstances
+      TypeFamilies
+      DataKinds
       MagicHash
+      ImportQualifiedPost
+      StandaloneKindSignatures
       ScopedTypeVariables
+      TypeOperators
   ghc-options: -Wall
   build-depends:
       base >=4.14 && <5
     , either >=5.0.1.1 && <5.1
     , prettyprinter >=1.7.1 && <1.8
-    , refined >=0.6.3 && <0.7
+    , refined ==0.7.*
     , vector >=0.12.3.1 && <0.13
     , vector-sized >=1.5.0 && <1.6
-  if flag(refined-polykind)
-    cpp-options: -DREFINED_POLYKIND
   default-language: Haskell2010
 
 test-suite spec
@@ -100,13 +93,12 @@
       test
   default-extensions:
       EmptyCase
-      FlexibleContexts
-      FlexibleInstances
-      InstanceSigs
-      MultiParamTypeClasses
-      PolyKinds
       LambdaCase
+      InstanceSigs
+      BangPatterns
+      ExplicitNamespaces
       DerivingStrategies
+      DerivingVia
       StandaloneDeriving
       DeriveAnyClass
       DeriveGeneric
@@ -115,21 +107,23 @@
       DeriveFoldable
       DeriveTraversable
       DeriveLift
-      ImportQualifiedPost
-      StandaloneKindSignatures
-      DerivingVia
+      FlexibleContexts
+      FlexibleInstances
+      MultiParamTypeClasses
+      GADTs
+      PolyKinds
       RoleAnnotations
+      RankNTypes
       TypeApplications
-      DataKinds
-      TypeFamilies
-      TypeOperators
-      BangPatterns
-      GADTs
       DefaultSignatures
-      RankNTypes
-      UndecidableInstances
+      TypeFamilies
+      DataKinds
       MagicHash
+      ImportQualifiedPost
+      StandaloneKindSignatures
       ScopedTypeVariables
+      TypeOperators
+  ghc-options: -Wall
   build-tool-depends:
       hspec-discover:hspec-discover >=2.7 && <2.10
   build-depends:
@@ -140,10 +134,8 @@
     , hspec >=2.7 && <2.10
     , prettyprinter >=1.7.1 && <1.8
     , quickcheck-instances >=0.3.26 && <0.4
-    , refined >=0.6.3 && <0.7
+    , refined ==0.7.*
     , strongweak
     , vector >=0.12.3.1 && <0.13
     , vector-sized >=1.5.0 && <1.6
-  if flag(refined-polykind)
-    cpp-options: -DREFINED_POLYKIND
   default-language: Haskell2010
diff --git a/test/Common.hs b/test/Common.hs
--- a/test/Common.hs
+++ b/test/Common.hs
@@ -23,8 +23,8 @@
 deriving stock instance Show (DS 'Weak)
 deriving via (GenericArbitraryU `AndShrinking` (DS 'Weak))   instance Arbitrary (DS 'Weak)
 
-instance Weaken     (DS 'Strong) where
-    type Weak (DS 'Strong) = DS 'Weak
+instance Weaken (DS 'Strong) where
+    type Weak   (DS 'Strong) = DS 'Weak
     weaken = weakenGeneric
 instance Strengthen (DS 'Strong) where strengthen = strengthenGeneric
 
