diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 _A data structure for emission plans_
 
-![GitHub License](https://img.shields.io/github/license/carlwr/effable)
+[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
 ![Hackage Version](https://img.shields.io/hackage/v/effable)
 ![CI](https://img.shields.io/github/actions/workflow/status/carlwr/effable/ci.yml?label=CI)
 
@@ -99,5 +99,5 @@
 
 Since I am not a native English speaker, any natural language is likely to feature language quirks. AI models were not asked to identify or rectify such.
 
-The above should not be understood as any opinion or even preference of mine - I both use and value development with higher degrees of AI autonomy than what was used in this (and many of my other) projects.
+The above should not be understood as any opinion or even preference of mine - I both use and value development with higher degrees of AI autonomy than what was used in this project.
 
diff --git a/effable.cabal b/effable.cabal
--- a/effable.cabal
+++ b/effable.cabal
@@ -1,7 +1,7 @@
 cabal-version: 3.0
 
 name:           effable
-version:        0.3.0.0
+version:        0.3.1.0
 stability:      experimental
 category:       Data
 synopsis:       A data structure for emission plans
@@ -14,6 +14,7 @@
 license-file:   LICENSE
 build-type:     Simple
 tested-with:
+    GHC == 9.14.1
     GHC == 9.12.2
     GHC == 9.10.2
     GHC == 9.8.4
@@ -34,6 +35,7 @@
   manual: True
 
 flag isDev
+  description: development conveniences
   default: False
   manual: True
 
@@ -84,7 +86,9 @@
 test-suite doctest
   import:
     , defaults
-  if !flag(doctest)
+  -- no solution for 9.14 due to doctest-parallell
+  -- (forcing with --alow-newer causes compilation error)
+  if !flag(doctest) || impl(ghc >= 9.14)
       buildable: False
   hs-source-dirs:  test/doctests
   type:            exitcode-stdio-1.0
diff --git a/src/Data/Effable.hs b/src/Data/Effable.hs
--- a/src/Data/Effable.hs
+++ b/src/Data/Effable.hs
@@ -430,8 +430,8 @@
 Suppress the effects of emitting the value if an effectful predicate evaluates to False:
 
 @
-'run' emit ('when'' (pure False) x)  == pure ()
-'run' emit ('when'' (pure True ) x)  == 'run' emit x
+'run' emit ('when'' (pure False) x)  ==  pure ()
+'run' emit ('when'' (pure True ) x)  ==  'run' emit x
 @
 
 'when'' has the distributive and commutation properties as those of 'wrap'.
@@ -517,7 +517,7 @@
 In light of 'byAction', 'ifThenElse' can be viewed as 'byAction' specialized to a domain with the two inhabitants 'True' and 'False':
 
 @
-'ifThenElse' bM x y  ==  'byAction' bM (\b -> if b then x else y)
+'ifThenElse' bM x y  ==  'byAction' bM (\\b -> if b then x else y)
 @
 
 (Between the LHS and RHS the ordering of the internal representation will be different; that is however not observable with read-like actions.)
@@ -638,7 +638,7 @@
 'embedAction' x  ==  'byAction' x 'embed'
 @
 
-(The same warning as that for 'byAction' applies.)
+(The same warning as that for 'byAction' apply.)
 -}
 embedAction
   :: (Monad m, Enumerable a)
@@ -708,17 +708,6 @@
 >>> run emitConst (embed 'a' <> (silence $ embed 'b') <> embed 'c')
 Const "ac"
 
-== Definition
-
-'run' is the /monoid homomorphism/
-
-@
-from   ('Effable' m b, '<>', 'mempty' )
-to     (m ()\ \      , '*>', 'pure' ())
-@
-
-and is natural in the emission function.
-
 -}
 run
   :: Applicative m
@@ -735,7 +724,7 @@
 Methods of the 'Foldable' and 'Traversable' instances of the result type can be used e.g. to customize how the individual emission results are combined.
 
 @
-'Data.Foldable.sequenceA_' ('runWith' emit x)  == 'run' emit x
+'Data.Foldable.sequenceA_' ('runWith' emit x)  ==  'run' emit x
 @
 
 === Example
