diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Revision history for quickcheck-silent
 
+## 0.11.0.16 -- 2026-08-20
+
+* Updated `quickCheckSilentSuiteJSON` documentation.
+
+* Refactored `quickCheckSilentSuite` and `quickCheckSilentSuiteJSON` to take a
+  list of patterns (`pts`) instead of a single (`pat`).
+
 ## 0.11.0.15 -- 2026-08-20
 
 * Moved the `JSON` type below `Result` and refactored code based on `LSP`
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.15
+version: 0.11.0.16
 
 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
@@ -162,7 +162,7 @@
   :: [SilentProp]
   -> IO [Result]
 quickCheckSilent =
-  mapM (\ p -> (aux . property) p >>= pure . resultAux)
+  mapM (\ p -> resultAux <$> (aux . property) p)
   where
     aux =
       QC.quickCheckWithResult $ stdArgs { chatty = False }
@@ -173,10 +173,10 @@
 -- For example,
 --
 -- > check =
--- >   quickCheckSilentSuite sep pat tcs
+-- >   quickCheckSilentSuite sep pts tcs
 -- >   where
 -- >     sep = '.'
--- >     pat = "Test.QuickCheck.Silent"
+-- >     pts = [ "Test.QuickCheck.Silent" ]
 -- >     tcs =
 -- >       Group "Test"
 -- >         [ Group "QuickCheck"
@@ -192,25 +192,25 @@
 --
 -- will test both @p@ and @q@, but not @r@.
 --
--- The provided @pattern@, will be checked if it 'Data.List.isPrefixOf' of each
--- @label@:
+-- The provided @patterns@, will be checked if they are a 'Data.List.isPrefixOf'
+-- of each @label@:
 --
--- > pattern `isPrefixOf` label
+-- > any (`isPrefixOf` label) [ pattern_0, pattern_1, … pattern_n ]
 --
--- @NOTE@: To test all cases, just provide an empty string as @pattern@ as it's
--- a prefix for all possible @labels@.
+-- @NOTE@: To test all cases, just provide a singleton list with an empty string
+-- element as @pattern@ as it's a prefix for all possible @labels@.
 quickCheckSilentSuite
   :: Char
-  -> String
+  -> [String]
   -> Test
   -> IO [(Label, Result)]
-quickCheckSilentSuite sep pat suite =
+quickCheckSilentSuite sep pts suite =
   mapM
     ( \ (l, sp) ->
         (aux . property) sp >>= \ r ->
         pure (l, resultAux r)
     )
-  $ filter ( \(l, _) -> pat `isPrefixOf` l)
+  $ filter ( \(l, _) -> any  (`isPrefixOf` l) pts)
   $ dfs [] suite
   where
     dfs [ ] (Group l ts) = concatMap (dfs                  l)  ts
@@ -220,22 +220,19 @@
     aux =
       QC.quickCheckWithResult $ stdArgs { chatty = False }
 
--- | Same behavior as 'quickCheckSilentSuite', but, producing a 'JSON' data
--- payload instead.
+-- | Same behavior as 'quickCheckSilentSuite', but, producing a list of 'JSON'
+-- data payloads instead.
 quickCheckSilentSuiteJSON
   :: Char
-  -> String
+  -> [String]
   -> Test
   -> IO [JSON]
-quickCheckSilentSuiteJSON sep pat suite =
-  ( \ lrs ->
-      map
-      ( \ (l, r) ->
-          encodeJSON $ LabelResultJSON l r
-      )
-      lrs
+quickCheckSilentSuiteJSON sep pts suite =
+  map
+  ( \ (l, r) ->
+      encodeJSON $ LabelResultJSON l r
   )
-  <$> quickCheckSilentSuite sep pat suite
+  <$> quickCheckSilentSuite sep pts suite
 
 -- | Check if the test run result was a success
 isSuccess :: Result -> Bool
