diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for polysemy-methodology
 
+## v0.1.7.0
+
+* Add `pureMethodology` and `pureMethodology'`.
+
 ## v0.1.6.0
 
 * Add reinterpreting versions of `cutMethodology`, `cutMethodology3`, `divideMethodology`,
diff --git a/polysemy-methodology.cabal b/polysemy-methodology.cabal
--- a/polysemy-methodology.cabal
+++ b/polysemy-methodology.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-methodology
-version:        0.1.6.0
+version:        0.1.7.0
 synopsis:       Domain modelling algebra for polysemy
 category:       Polysemy
 author:         Daniel Firth
diff --git a/src/Polysemy/Methodology.hs b/src/Polysemy/Methodology.hs
--- a/src/Polysemy/Methodology.hs
+++ b/src/Polysemy/Methodology.hs
@@ -48,6 +48,8 @@
 , fmapMethodology'
 , fmap2Methodology
 , fmap2Methodology'
+, pureMethodology
+, pureMethodology'
 , bindMethodology
 , bindMethodology'
 , traverseMethodology
@@ -377,7 +379,7 @@
   Process b -> traverse (process @b @c) b
 {-# INLINE fmapMethodology #-}
 
--- | Reinterpreting version of `fmapMethodology`
+-- | Reinterpreting version of `fmapMethodology`.
 --
 -- @since 0.1.6.0
 fmapMethodology' :: forall f b c r a.
@@ -399,7 +401,7 @@
 fmap2Methodology = fmapMethodology' @f @(g b) @(g c) >>> fmapMethodology @g @b @c
 {-# INLINE fmap2Methodology #-}
 
--- | Reinterpreting version of `fmapMethodology`
+-- | Reinterpreting version of `fmapMethodology`.
 --
 -- @since 0.1.6.0
 fmap2Methodology' :: forall f g b c r a.
@@ -408,6 +410,26 @@
                   -> Sem (Methodology b c ': r) a
 fmap2Methodology' = raiseUnder >>> fmap2Methodology
 {-# INLINE fmap2Methodology' #-}
+
+-- | Run a `Methodology` b (f c) in terms of a `Methodology` b c.
+--
+-- @since 0.1.7.0
+pureMethodology :: forall f b c r a.
+                   (Members '[Methodology b c] r, Applicative f)
+                => Sem (Methodology b (f c) ': r) a
+                -> Sem r a
+pureMethodology = interpret \case
+  Process b -> pure <$> process @b @c b
+{-# INLINE pureMethodology #-}
+
+-- | Reinterpreting version of `pureMethodology`.
+--
+-- @since 0.1.7.0
+pureMethodology' :: forall f b c r a. Applicative f
+                 => Sem (Methodology b (f c) ': r) a
+                 -> Sem (Methodology b c ': r) a
+pureMethodology' = raiseUnder >>> pureMethodology
+{-# INLINE pureMethodology' #-}
 
 -- | Run a `Methodology` (f b) (f c) by way of a `Methodology` b (f c). Note that
 -- `f` must be both `Traversable` and `Monad`.
