diff --git a/Data/Function/Tools.hs b/Data/Function/Tools.hs
--- a/Data/Function/Tools.hs
+++ b/Data/Function/Tools.hs
@@ -1,5 +1,7 @@
 module Data.Function.Tools (
-  const2
+  curry3
+, uncurry3
+, const2
 , const3
 , applyWhen
 , applyUnless
@@ -9,6 +11,12 @@
 {-
 import Control.Arrow ((&&&))
  -}
+
+curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d
+curry3 f x y z = f (x, y, z)
+
+uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d
+uncurry3 f (x, y, z) = f x y z
 
 const2 :: a -> b -> c -> a
 const2 = const . const
diff --git a/yjtools.cabal b/yjtools.cabal
--- a/yjtools.cabal
+++ b/yjtools.cabal
@@ -1,5 +1,5 @@
 Name:		yjtools
-Version:	0.9.16
+Version:	0.9.17
 Cabal-Version:	>= 1.2
 Build-Type:	Simple
 License:	LGPL
