diff --git a/data-extra.cabal b/data-extra.cabal
--- a/data-extra.cabal
+++ b/data-extra.cabal
@@ -1,5 +1,5 @@
 name:                data-extra
-version:             2.4.0
+version:             2.5.0
 synopsis:            Extra utilities for working on Data.* types.
 description:         Extra utilities for working on Data.* types.
 license:             BSD3
diff --git a/src/Data/Bool/Extra.hs b/src/Data/Bool/Extra.hs
--- a/src/Data/Bool/Extra.hs
+++ b/src/Data/Bool/Extra.hs
@@ -1,7 +1,14 @@
 -- | Extra functions for dealing with Bool.
 
-module Data.Bool.Extra (bool) where
+module Data.Bool.Extra
+  (bool
+  ,cond)
+  where
 
 -- | An if/else condition on the given value.
-bool :: (a -> b) -> (a -> b) -> (a -> Bool) -> a -> b
-bool true false p v = if p v then true v else false v
+bool :: a -> a -> Bool -> a
+bool false true p = if p then true else false
+
+-- | An if/else condition on the given value.
+cond :: (a -> b) -> (a -> b) -> (a -> Bool) -> a -> b
+cond false true p v = if p v then true v else false v
