diff --git a/bool-extras.cabal b/bool-extras.cabal
--- a/bool-extras.cabal
+++ b/bool-extras.cabal
@@ -1,5 +1,5 @@
 name:                bool-extras
-version:             0.3.0
+version:             0.4.0
 synopsis:            A fold function for Bool
 description:         The `bool' function allows folding over boolean values.
                      .
@@ -32,7 +32,8 @@
 build-type:          Simple
 cabal-version:       >= 1.6
 extra-source-files:  examples/*.hs
-hs-source-dirs:      src
-exposed-modules:     Data.Bool.Extras
-build-depends:       base >= 3 && < 5
 
+library
+  build-depends:       base >= 3 && < 5
+  hs-source-dirs:      src
+  exposed-modules:     Data.Bool.Extras
diff --git a/src/Data/Bool/Extras.hs b/src/Data/Bool/Extras.hs
--- a/src/Data/Bool/Extras.hs
+++ b/src/Data/Bool/Extras.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 -- | This module provides some convenient functions for dealing with Booleans.
 -- 
 -- The most important one being 'bool', a function that can be used in place of
@@ -27,6 +28,7 @@
 import Data.Bool
 import Data.Monoid
 
+#if !MIN_VERSION_base(4,7,0)
 -- | Defines the fold over a boolean value.
 --
 -- Returns its first argument when applied to `False',
@@ -40,7 +42,7 @@
 bool _ y True  = y
 -- Expressed in terms of `cata':
 -- bool = curry cata
-
+#endif
 
 -- | Boolean operation for monoids.
 -- 
