diff --git a/libraries/base/Data/Enum.hs b/libraries/base/Data/Enum.hs
index 3ec83b5e5632727b165f5ce2ddf5dffe0242bcea..d6e4f744480aaed658aae4f7306394456052caad 100644
--- a/libraries/base/Data/Enum.hs
+++ b/libraries/base/Data/Enum.hs
@@ -17,6 +17,13 @@
 module Data.Enum
     ( Bounded(..)
     , Enum(..)
+    , enumerate
     ) where
 
 import GHC.Enum
+
+-- | A list of all elements between 'minBound' and 'maxBound', inclusively.
+--
+-- @since 4.19.0.0
+enumerate :: (Enum a, Bounded a) => [a]
+enumerate = [minBound .. maxBound]