diff --git a/hedgehog/HaskellWorks/Polysemy/Hedgehog.hs b/hedgehog/HaskellWorks/Polysemy/Hedgehog.hs
--- a/hedgehog/HaskellWorks/Polysemy/Hedgehog.hs
+++ b/hedgehog/HaskellWorks/Polysemy/Hedgehog.hs
@@ -10,6 +10,10 @@
     leftFail,
     leftFailM,
     catchFail,
+    nothingFail,
+    nothingFailM,
+    requireHead,
+    trapFail,
 
     failure,
     failMessage,
diff --git a/hedgehog/HaskellWorks/Polysemy/Hedgehog/Process.hs b/hedgehog/HaskellWorks/Polysemy/Hedgehog/Process.hs
--- a/hedgehog/HaskellWorks/Polysemy/Hedgehog/Process.hs
+++ b/hedgehog/HaskellWorks/Polysemy/Hedgehog/Process.hs
@@ -1,17 +1,19 @@
 module HaskellWorks.Polysemy.Hedgehog.Process
-  ( defaultExecConfig
-  , execFlex
-  , execFlexOk
-  , execFlexOk'
-  , execOk
-  , execOk_
-  , exec
-  , procFlex
-  , procFlex'
-  , binFlex
+  ( ExecConfig(..),
+    defaultExecConfig,
+    execDetailFlex,
+    execFlex,
+    execFlexOk,
+    execFlexOk',
+    execOk,
+    execOk_,
+    exec,
+    procFlex,
+    procFlex',
+    binFlex,
 
-  , waitSecondsForProcess
-  , waitSecondsForProcessOk
+    waitSecondsForProcess,
+    waitSecondsForProcessOk,
 
   ) where
 
@@ -109,6 +111,25 @@
     ShellCommand cmd    -> cmd
     RawCommand cmd args -> cmd <> " " <> L.unwords (argQuote <$> args)
 
+  readCreateProcessWithExitCode cp ""
+
+execDetailFlex :: ()
+  => HasCallStack
+  => Member (Embed IO) r
+  => Member (Error GenericError) r
+  => Member (Error IOException) r
+  => Member Hedgehog r
+  => Member Log r
+  => ExecConfig
+  -> String
+  -> String
+  -> [String]
+  -> Sem r (ExitCode, String, String)
+execDetailFlex execConfig pkgBin envBin arguments = withFrozenCallStack $ do
+  cp <- procFlex' execConfig pkgBin envBin arguments
+  jot_ . ("Command: " <>) $ case cmdspec cp of
+    ShellCommand cmd    -> cmd
+    RawCommand cmd args -> cmd <> " " <> L.unwords args
   readCreateProcessWithExitCode cp ""
 
 -- | Execute a process, returning '()'.
diff --git a/hw-polysemy.cabal b/hw-polysemy.cabal
--- a/hw-polysemy.cabal
+++ b/hw-polysemy.cabal
@@ -1,6 +1,6 @@
 cabal-version:          3.4
 name:                   hw-polysemy
-version:                0.2.4.1
+version:                0.2.4.2
 synopsis:               Opinionated polysemy library
 description:            Opinionated polysemy library.
 license:                Apache-2.0
diff --git a/test/HaskellWorks/Polysemy/HedgehogSpec.hs b/test/HaskellWorks/Polysemy/HedgehogSpec.hs
--- a/test/HaskellWorks/Polysemy/HedgehogSpec.hs
+++ b/test/HaskellWorks/Polysemy/HedgehogSpec.hs
@@ -8,10 +8,9 @@
 
 import           HaskellWorks.Polysemy.Prelude
 
-import qualified Data.List                             as L
-import qualified HaskellWorks.Polysemy.Data.Text       as T
+import qualified Data.List                       as L
+import qualified HaskellWorks.Polysemy.Data.Text as T
 import           HaskellWorks.Polysemy.Hedgehog
-import           HaskellWorks.Polysemy.Hedgehog.Assert
 
 default (String)
 
