diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.2.1 (2022-04-23)
+  * add `unsafeWithRefine :: forall p ps a. a -> WithRefine ps p a`
+
 ## 0.2.0 (2022-04-23)
   * rename `unWithRefine` to `withoutRefine`
   * reorder `reallyUnsafeEnforce` typevars for visible type application
diff --git a/refined-with.cabal b/refined-with.cabal
--- a/refined-with.cabal
+++ b/refined-with.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           refined-with
-version:        0.2.0
+version:        0.2.1
 synopsis:       Refinement types with an "refinement applied" switch.
 description:    Please see README.md.
 category:       Data
diff --git a/src/Refined/WithRefine.hs b/src/Refined/WithRefine.hs
--- a/src/Refined/WithRefine.hs
+++ b/src/Refined/WithRefine.hs
@@ -61,6 +61,9 @@
   -- * Unsafe enforcing
   , reallyUnsafeEnforce
 
+  -- * Unsafe creation
+  , unsafeWithRefine
+
   -- * Other definitions
   , WithRefineRep
   ) where
@@ -106,9 +109,9 @@
 instance (FromJSON a, Predicate p a) => FromJSON (WithRefine 'Enforced p a) where
     parseJSON a = parseJSON a >>= enforceFail
 
--- | I don't really understand this. I naively use the same role annotation as
---   'Refined'. GHC user's guide page:
---   https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/roles.html
+-- TODO I don't really understand this. I naively use the same role annotation
+-- as 'Refined'. GHC user's guide page:
+-- https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/roles.html
 type role WithRefine nominal nominal nominal
 
 -- | Wrap a value with any unenforced predicate. This is like tagging your value
@@ -169,6 +172,15 @@
 -- is usually obvious to the compiler.
 reallyUnsafeEnforce :: forall p a. a -> WithRefine 'Enforced p a
 reallyUnsafeEnforce = WithRefine
+
+-- | Wrap a value with any predicate, enforced or unenforced. This is useful for
+--   "no-op" refinements, potentially letting you to merge two instances into
+--   one, where you explicitly ignore the 'PredicateStatus' (perhaps clearer).
+--
+-- You should only use this if you can prove that the refinement holds for all
+-- values of @a@.
+unsafeWithRefine :: forall p ps a. a -> WithRefine ps p a
+unsafeWithRefine = WithRefine
 
 -- | Not very useful, but clarifies the meaning of enforced and unenforced
 --   refinements.
