diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for quickcheck-silent
 
+## 0.11.0.15 -- 2026-08-20
+
+* Moved the `JSON` type below `Result` and refactored code based on `LSP`
+  suggestions.
+
 ## 0.11.0.14 -- 2026-08-19
 
 * Based on feedback from `#haskell` on [Libera](https://libera.chat/), we have
diff --git a/quickcheck-silent.cabal b/quickcheck-silent.cabal
--- a/quickcheck-silent.cabal
+++ b/quickcheck-silent.cabal
@@ -10,7 +10,7 @@
 build-type: Simple
                                               
 name: quickcheck-silent
-version: 0.11.0.14
+version: 0.11.0.15
 
 synopsis: Testing with QuickCheck in silence
 description: Testing with QuickCheck in silence. For more info see README.md
diff --git a/src/Test/QuickCheck/Silent.hs b/src/Test/QuickCheck/Silent.hs
--- a/src/Test/QuickCheck/Silent.hs
+++ b/src/Test/QuickCheck/Silent.hs
@@ -27,9 +27,9 @@
   , silent
   , withNumTests
     -- * Running tests
-  , JSON
   , Status(..)
   , Result(..)
+  , JSON
   , quickCheckSilent
   , quickCheckSilentSuite
   , quickCheckSilentSuiteJSON
@@ -41,7 +41,6 @@
 
 import           Data.Data                            ( Data )
 import           Data.List                            ( isPrefixOf )
-import           Data.Maybe                           ( fromMaybe )
 
 import qualified Test.QuickCheck                      as QC
 import           Test.QuickCheck
@@ -214,7 +213,7 @@
   $ filter ( \(l, _) -> pat `isPrefixOf` l)
   $ dfs [] suite
   where
-    dfs [ ] (Group l ts) = concatMap (dfs (                l)) ts
+    dfs [ ] (Group l ts) = concatMap (dfs                  l)  ts
     dfs acc (Group l ts) = concatMap (dfs (acc ++ [sep] ++ l)) ts
     dfs [ ] (Case  l p)  = [              (                l, p)]
     dfs acc (Case  l p)  = [              (acc ++ [sep] ++ l, p)]
@@ -292,7 +291,7 @@
         , Test.QuickCheck.Silent.usedSize       = si
         , Test.QuickCheck.Silent.output         = o
         , Test.QuickCheck.Silent.reason         = r
-        , Test.QuickCheck.Silent.theException   = fromMaybe [] $ show <$> e
+        , Test.QuickCheck.Silent.theException   = maybe [] show e
         }
     QC.NoExpectedFailure t d _ _ _ o ->
       Result
