diff --git a/intro.cabal b/intro.cabal
--- a/intro.cabal
+++ b/intro.cabal
@@ -7,7 +7,7 @@
 -- hash: fe9a993c4dcd595f1858f7bb1fea002353d77bcdd733200b90049ea61a13c0a8
 
 name:           intro
-version:        0.6.0.0
+version:        0.6.0.1
 synopsis:       Safe and minimal prelude
 description:    Intro is a modern Prelude which provides safe alternatives
                 for most of the partial functions and follows other
@@ -57,7 +57,7 @@
     , extra >=1.5.1 && <1.7
     , hashable >=1.2.5 && <2.0
     , mtl >=2.2 && <2.3
-    , safe >=0.3.11 && <0.4
+    , safe >=0.3.18 && <0.4
     , text >=0.7 && <1.3
     , transformers >=0.4 && <0.6
     , unordered-containers >=0.2 && <0.3
diff --git a/src/Intro.hs b/src/Intro.hs
--- a/src/Intro.hs
+++ b/src/Intro.hs
@@ -58,14 +58,14 @@
 -- The unsafe list functions are replaced by their 'NonEmpty' counterparts. Furthermore '*May' and '*Def'
 -- functions are exported from the 'safe' package, e.g., 'headMay'.
 --
--- * 'cycle', 'head', 'tail', 'init', 'last'
--- * 'toEnum', 'pred', 'succ'
+-- * 'cycleMay', 'headMay', 'tailMay', 'initMay', 'lastMay'
+-- * 'toEnumMay', 'predMay', 'succMay'
 --
 -- The 'maximum' and 'minimum' functions have been replaced by variants which
 -- are safe for empty structures.
 --
 -- * 'maximumBound', 'maximumBounded', ...
--- * 'minimumBound, 'minimumBounded', ...
+-- * 'minimumBound', 'minimumBounded', ...
 --
 -- These functions are not provided for various reasons:
 --
@@ -479,17 +479,15 @@
   , Safe.Foldable.foldl1May
   , Safe.Foldable.foldr1May
   , Safe.Foldable.maximumByMay
-  , maximumBoundedBy
-  , maximumBoundBy
+  , Safe.Foldable.maximumBoundBy
   , Safe.Foldable.minimumByMay
-  , minimumBoundedBy
-  , minimumBoundBy
+  , Safe.Foldable.minimumBoundBy
   , Safe.Foldable.maximumMay
-  , maximumBounded
-  , maximumBound
+  , Safe.Foldable.maximumBounded
+  , Safe.Foldable.maximumBound
   , Safe.Foldable.minimumMay
-  , minimumBounded
-  , minimumBound
+  , Safe.Foldable.minimumBounded
+  , Safe.Foldable.minimumBound
 
   -- ** Traversable
   , Data.Traversable.Traversable(traverse, sequenceA)
@@ -769,48 +767,6 @@
 
 -- | Alias for lazy 'Data.ByteString.Lazy.ByteString'
 type LByteString = Data.ByteString.Lazy.ByteString
-
--- | The largest element of a foldable structure with respect to the
--- given comparison function. The result is bounded by the value given as the first argument.
-maximumBoundBy :: Data.Foldable.Foldable f => a -> (a -> a -> Prelude.Ordering) -> f a -> a
-maximumBoundBy x f xs = Data.Foldable.maximumBy f $ x : Data.Foldable.toList xs
-
--- | The smallest element of a foldable structure with respect to the
--- given comparison function. The result is bounded by the value given as the first argument.
-minimumBoundBy :: Data.Foldable.Foldable f => a -> (a -> a -> Prelude.Ordering) -> f a -> a
-minimumBoundBy x f xs = Data.Foldable.minimumBy f $ x : Data.Foldable.toList xs
-
--- | The largest element of a foldable structure with respect to the
--- given comparison function. The result is bounded by 'Prelude.minBound'.
-maximumBoundedBy :: (Data.Foldable.Foldable f, Prelude.Bounded a)
-                 => (a -> a -> Prelude.Ordering) -> f a -> a
-maximumBoundedBy = maximumBoundBy Prelude.minBound
-
--- | The smallest element of a foldable structure with respect to the
--- given comparison function. The result is bounded by 'Prelude.maxBound'.
-minimumBoundedBy :: (Data.Foldable.Foldable f, Prelude.Bounded a)
-                 => (a -> a -> Prelude.Ordering) -> f a -> a
-minimumBoundedBy = minimumBoundBy Prelude.maxBound
-
--- | The largest element of a foldable structure.
--- The result is bounded by the value given as the first argument.
-maximumBound :: (Data.Foldable.Foldable f, Prelude.Ord a) => a -> f a -> a
-maximumBound x xs = Data.Foldable.maximum $ x : Data.Foldable.toList xs
-
--- | The smallest element of a foldable structure.
--- The result is bounded by the value given as the first argument.
-minimumBound :: (Data.Foldable.Foldable f, Prelude.Ord a) => a -> f a -> a
-minimumBound x xs = Data.Foldable.minimum $ x : Data.Foldable.toList xs
-
--- | The largest element of a foldable structure.
--- The result is bounded by 'Prelude.minBound'.
-maximumBounded :: (Data.Foldable.Foldable f, Prelude.Ord a, Prelude.Bounded a) => f a -> a
-maximumBounded = maximumBound Prelude.minBound
-
--- | The largest element of a foldable structure.
--- The result is bounded by 'Prelude.maxBound'.
-minimumBounded :: (Data.Foldable.Foldable f, Prelude.Ord a, Prelude.Bounded a) => f a -> a
-minimumBounded = minimumBound Prelude.maxBound
 
 -- | Convert from 'Data.Foldable.Foldable' to an 'IsList' type.
 fromFoldable :: (Data.Foldable.Foldable f, IsList a) => f (Item a) -> a
