diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+2023-06-21 Ivan Perez <ivan.perez@keera.co.uk>
+        * Version bump (0.14.3) (#372).
+        * Offer all definitions from FRP.Yampa.Arrow (#360).
+
 2023-04-21 Ivan Perez <ivan.perez@keera.co.uk>
         * Version bump (0.14.2) (#358).
         * Remove unused module FRP.Yampa.VectorSpace (#351).
diff --git a/bearriver.cabal b/bearriver.cabal
--- a/bearriver.cabal
+++ b/bearriver.cabal
@@ -30,7 +30,7 @@
 build-type:    Simple
 
 name:          bearriver
-version:       0.14.2
+version:       0.14.3
 author:        Ivan Perez, Manuel Bärenz
 maintainer:    ivan.perez@keera.co.uk
 homepage:      https://github.com/ivanperez-keera/dunai
@@ -76,6 +76,7 @@
 library
   exposed-modules:
     FRP.BearRiver
+    FRP.BearRiver.Arrow
     FRP.Yampa
 
   build-depends:
diff --git a/src/FRP/BearRiver.hs b/src/FRP/BearRiver.hs
--- a/src/FRP/BearRiver.hs
+++ b/src/FRP/BearRiver.hs
@@ -46,6 +46,7 @@
                                                                repeatedly,
                                                                trace)
 import           Data.MonadicStreamFunction.InternalCore (MSF (MSF, unMSF))
+import           FRP.BearRiver.Arrow                     as X
 
 -- Internal imports (dunai, instances)
 import Data.MonadicStreamFunction.Instances.ArrowLoop () -- not needed, just
@@ -886,9 +887,3 @@
 -- argument.
 replaceOnce :: Monad m => a -> SF m a a
 replaceOnce a = dSwitch (arr $ const (a, Event ())) (const $ arr id)
-
--- ** Tuples
-
--- | Duplicate an input.
-dup :: a -> (a, a)
-dup x = (x, x)
diff --git a/src/FRP/BearRiver/Arrow.hs b/src/FRP/BearRiver/Arrow.hs
new file mode 100644
--- /dev/null
+++ b/src/FRP/BearRiver/Arrow.hs
@@ -0,0 +1,52 @@
+-- |
+-- Module      : FRP.BearRiver.Arrow
+-- Copyright   : (c) Ivan Perez, 2014-2023
+--               (c) George Giorgidze, 2007-2012
+--               (c) Henrik Nilsson, 2005-2006
+--               (c) Antony Courtney and Henrik Nilsson, Yale University, 2003-2004
+-- License     : BSD3
+--
+-- Maintainer  : ivan.perez@keera.co.uk
+-- Stability   : provisional
+-- Portability : portable
+--
+-- Arrow helper functions.
+module FRP.BearRiver.Arrow
+    (
+      -- * Arrow plumbing aids
+      dup
+
+      -- * Liftings
+    , arr2
+    , arr3
+    , arr4
+    , arr5
+    )
+  where
+
+-- External imports
+import Control.Arrow (Arrow, arr)
+
+-- * Arrow plumbing aids
+
+-- | Duplicate an input.
+dup :: a -> (a, a)
+dup x = (x, x)
+
+-- * Liftings
+
+-- | Lift a binary function onto an arrow.
+arr2 :: Arrow a => (b -> c -> d) -> a (b, c) d
+arr2 = arr . uncurry
+
+-- | Lift a 3-ary function onto an arrow.
+arr3 :: Arrow a => (b -> c -> d -> e) -> a (b, c, d) e
+arr3 = arr . \h (b, c, d) -> h b c d
+
+-- | Lift a 4-ary function onto an arrow.
+arr4 :: Arrow a => (b -> c -> d -> e -> f) -> a (b, c, d, e) f
+arr4 = arr . \h (b, c, d, e) -> h b c d e
+
+-- | Lift a 5-ary function onto an arrow.
+arr5 :: Arrow a => (b -> c -> d -> e -> f -> g) -> a (b, c, d, e, f) g
+arr5 = arr . \h (b, c, d, e, f) -> h b c d e f
