diff --git a/composition-prelude.cabal b/composition-prelude.cabal
--- a/composition-prelude.cabal
+++ b/composition-prelude.cabal
@@ -1,5 +1,5 @@
 name:                composition-prelude
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Higher-order function combinators
 description:         Replacement for `composition` or `composition-exta`, exporting everything in one sane module.
 homepage:            https://github.com/vmchale/composition-prelude#readme
diff --git a/src/Control/Composition.hs b/src/Control/Composition.hs
--- a/src/Control/Composition.hs
+++ b/src/Control/Composition.hs
@@ -2,6 +2,7 @@
     ( -- ^ Postcomposition
       (.*)
     , (.**)
+    , (.***)
     -- ^ Precomposition
     , (-.)
     , (-.*)
@@ -19,33 +20,31 @@
     , (&)
     , fix
     , on
+    , ap
     ) where
 
 import           Control.Arrow ((&&&), (***))
-import           Control.Monad (join, (<=<), (=<<), (>=>))
+import           Control.Monad (ap, join, (<=<), (=<<), (>=>))
 import           Data.Function (fix, on, (&))
 
 infixr 8 .*
 infixr 8 -.*
 
-{-weird' :: (b -> (c -> d)) -> (a -> (c -> b)) -> (a -> (c -> d))
-weird' = (<=<)
-
-weird :: (a -> (b -> c)) -> (b -> a) -> (b -> c)
-weird = (=<<)-}
-
 both :: (a -> b) -> (a, a) -> (b, b)
 both = join (***)
 
 -- | As an example:
 --
 -- > λ:> ((*2) .* (+)) 1 3 4
--- > 4
+-- > 16
 (.*) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
 (.*) f g x y = f (g x y)
 
 (.**) :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
 (.**) f g x y z = f (g x y z)
+
+(.***) :: (e -> f) -> (a -> b -> c -> d -> e) -> a -> b -> c -> d -> f
+(.***) f g w x y z = f (g w x y z)
 
 -- | The Oedipus combinator
 (-.*) :: (b -> c) -> (a -> c -> d) -> a -> b -> d
