diff --git a/prologue.cabal b/prologue.cabal
--- a/prologue.cabal
+++ b/prologue.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 20576fd6610655f655eb87abb91128f645d312de5e9279f631daf41217717d88
+-- hash: 93924f91fadef97edd78ddbaa2fbdda64321ea48a9f73656b565df564606c97c
 
 name:           prologue
-version:        3.1.5
+version:        3.1.6
 synopsis:       Better, more general Prelude exporting common utilities.
 description:    Replacement for the Haskell's Prelude, exposing more commonly used functions and patching old GHC ones to behave in the newest GHC's way.
 category:       control
diff --git a/src/Prologue.hs b/src/Prologue.hs
--- a/src/Prologue.hs
+++ b/src/Prologue.hs
@@ -38,6 +38,7 @@
 import Prologue.Text.Show               as X
 import Prologue.Text.Show.Pretty        as X
 import Text.Show.Functions              as X ()
+import Data.Void                        as X (Void, absurd)
 
 
 -- === Monads === --
diff --git a/src/Prologue/Control/Monad.hs b/src/Prologue/Control/Monad.hs
--- a/src/Prologue/Control/Monad.hs
+++ b/src/Prologue/Control/Monad.hs
@@ -81,3 +81,17 @@
     True  -> return ()
     False -> mzero
 {-# INLINE guard #-}
+
+
+-- === Binds === --
+
+bind  :: Monad m => (t1                         -> m a) -> m t1                                 -> m a
+bind2 :: Monad m => (t1 -> t2                   -> m a) -> m t1 -> m t2                         -> m a
+bind3 :: Monad m => (t1 -> t2 -> t3             -> m a) -> m t1 -> m t2 -> m t3                 -> m a
+bind4 :: Monad m => (t1 -> t2 -> t3 -> t4       -> m a) -> m t1 -> m t2 -> m t3 -> m t4         -> m a
+bind5 :: Monad m => (t1 -> t2 -> t3 -> t4 -> t5 -> m a) -> m t1 -> m t2 -> m t3 -> m t4 -> m t5 -> m a
+bind = (=<<) ; {-# INLINE bind #-}
+bind2 f mt1 mt2 = do { t1 <- mt1; t2 <- mt2; f t1 t2} ; {-# INLINE bind2 #-}
+bind3 f mt1 mt2 mt3 = do { t1 <- mt1; t2 <- mt2; t3 <- mt3; f t1 t2 t3} ; {-# INLINE bind3 #-}
+bind4 f mt1 mt2 mt3 mt4 = do { t1 <- mt1; t2 <- mt2; t3 <- mt3; t4 <- mt4; f t1 t2 t3 t4} ; {-# INLINE bind4 #-}
+bind5 f mt1 mt2 mt3 mt4 mt5 = do { t1 <- mt1; t2 <- mt2; t3 <- mt3; t4 <- mt4; t5 <- mt5; f t1 t2 t3 t4 t5} ; {-# INLINE bind5 #-}
