diff --git a/Data/Bool/Tools.hs b/Data/Bool/Tools.hs
--- a/Data/Bool/Tools.hs
+++ b/Data/Bool/Tools.hs
@@ -1,6 +1,7 @@
 module Data.Bool.Tools (
   (&&&),
-  (|||)
+  (|||),
+  whether
 ) where
 
 (&&&), (|||) :: Monad m => m Bool -> m Bool -> m Bool
@@ -10,3 +11,7 @@
 p1 ||| p2 = do b1 <- p1
                b2 <- p2
 	       return $ b1 || b2
+
+whether :: a -> a -> Bool -> a
+whether x _ True = x
+whether _ y False = y
diff --git a/yjtools.cabal b/yjtools.cabal
--- a/yjtools.cabal
+++ b/yjtools.cabal
@@ -1,5 +1,5 @@
 Name:		yjtools
-Version:	0.9.12
+Version:	0.9.13
 Cabal-Version:	>= 1.2
 Build-Type:	Simple
 License:	LGPL
