diff --git a/Prelude.cabal b/Prelude.cabal
--- a/Prelude.cabal
+++ b/Prelude.cabal
@@ -1,6 +1,6 @@
 cabal-version:       >=1.10
 name:                Prelude
-version:             0.1.0.0
+version:             0.1.0.1
 
 license:             BSD3
 license-file:        LICENSE
@@ -35,28 +35,39 @@
   For instance, all you need to do in order to use this package if you were previously depending on [base](https://hackage.haskell.org/package/base) via
   .
   > build-depends:
-  >     base ^>= 4.10.0.0 || ^>= 4.11.0.0
+  >     base (>= 4.3.0.0 && < 4.11) || ^>= 4.11.0.0
   .
   is to replace @base@ by @base-noprelude@ and also add a dependency on @Prelude@ like so
   .
   > build-depends:
   >     Prelude ^>= 0.1.0.0
-  >   , base-noprelude ^>= 4.10.0.0 || ^>= 4.11.0.0
+  >   , base-noprelude (>= 4.3.0.0 && < 4.11) || ^>= 4.11.0.0
   .
   and this will effectively replace the implicit "Prelude" module.
+  .
+  Alternatively, if you only intend to support GHC 7.10 and newer, you can make use @mixins@ like so
+  .
+  > build-depends:
+  >     Prelude ^>= 0.1.0.0
+  >   , base (>= 4.8.0.0 && < 4.12) || ^>= 4.12.0.0
+  >
+  > mixins: base hiding (Prelude)
+  .
 
 source-repository head
   type: git
   location: https://github.com/hvr/Prelude.git
 
 library
+  exposed: False
+
   hs-source-dirs:      src
   exposed-modules:     Prelude
 
   default-language:    Haskell2010
   other-extensions:    BangPatterns CPP NoImplicitPrelude
 
-  build-depends:       base-noprelude >=4.3 && <4.13
+  build-depends:       base >=4.3 && <4.13
 
   if !impl(ghc >= 8.0)
     build-depends: semigroups >= 0.18.5 && < 0.19
diff --git a/src/Prelude.hs b/src/Prelude.hs
--- a/src/Prelude.hs
+++ b/src/Prelude.hs
@@ -89,7 +89,7 @@
 
   , Data
   , Typeable
-#if MIN_VERSION_base_noprelude(4,5,0)
+#if MIN_VERSION_base(4,5,0)
   , Generic
 #endif
 
@@ -205,22 +205,22 @@
 import           GHC.Base
 import           GHC.Enum
 import           GHC.Float
-#if MIN_VERSION_base_noprelude(4,5,0)
+#if MIN_VERSION_base(4,5,0)
 import           GHC.Generics                 (Generic)
 #endif
 import           GHC.Num
 import           GHC.Real
 import           GHC.Show
 
-#if MIN_VERSION_base_noprelude(4,8,0)
+#if MIN_VERSION_base(4,8,0)
 import           Data.List                    (uncons)
 #endif
 
-#if !MIN_VERSION_base_noprelude(4,7,0)
+#if !MIN_VERSION_base(4,7,0)
 import           GHC.Err                      (undefined)
 #endif
 
-#if !MIN_VERSION_base_noprelude(4,6,0)
+#if !MIN_VERSION_base(4,6,0)
 import           Text.ParserCombinators.ReadP as P
 #endif
 
@@ -253,7 +253,7 @@
 liftA5 f a b c d e = liftA4 f a b c d <*> e
 
 
-#if !MIN_VERSION_base_noprelude(4,10,0)
+#if !MIN_VERSION_base(4,10,0)
 fromLeft :: a -> Either a b -> a
 fromLeft _ (Left a) = a
 fromLeft a _        = a
@@ -263,12 +263,12 @@
 fromRight b _         = b
 #endif
 
-#if !MIN_VERSION_base_noprelude(4,9,0)
+#if !MIN_VERSION_base(4,9,0)
 errorWithoutStackTrace :: String -> a
 errorWithoutStackTrace = error
 #endif
 
-#if !MIN_VERSION_base_noprelude(4,8,0)
+#if !MIN_VERSION_base(4,8,0)
 infixl 1 &
 
 (&) :: a -> (a -> b) -> b
@@ -290,7 +290,7 @@
 uncons (x:xs) = Just (x, xs)
 #endif
 
-#if !MIN_VERSION_base_noprelude(4,7,0)
+#if !MIN_VERSION_base(4,7,0)
 isRight, isLeft :: Either a b -> Bool
 isRight (Left  _) = False
 isRight (Right _) = True
@@ -308,7 +308,7 @@
 
 -- | Parse using the 'Read' instance. Succeeds if there's a unique valid parse; returns 'Nothing' otherwise.
 read :: Read a => String -> Maybe a
-#if !MIN_VERSION_base_noprelude(4,6,0)
+#if !MIN_VERSION_base(4,6,0)
 read s = case [ x | (x,"") <- readPrec_to_S read' minPrec s ] of
            [x] -> Just x
            _   -> Nothing
