diff --git a/foldl.cabal b/foldl.cabal
--- a/foldl.cabal
+++ b/foldl.cabal
@@ -1,5 +1,5 @@
 Name: foldl
-Version: 1.0.4
+Version: 1.0.5
 Cabal-Version: >=1.8.0.2
 Build-Type: Simple
 License: BSD3
diff --git a/src/Control/Foldl.hs b/src/Control/Foldl.hs
--- a/src/Control/Foldl.hs
+++ b/src/Control/Foldl.hs
@@ -26,7 +26,7 @@
 
 -}
 
-{-# LANGUAGE ExistentialQuantification, RankNTypes #-}
+{-# LANGUAGE ExistentialQuantification, RankNTypes, Trustworthy #-}
 
 module Control.Foldl (
     -- * Fold Types
@@ -43,6 +43,7 @@
     , foldMap
     , head
     , last
+    , lastDef
     , null
     , length
     , and
@@ -235,6 +236,13 @@
 last :: Fold a (Maybe a)
 last = Fold (\_ -> Just') Nothing' lazy
 {-# INLINABLE last #-}
+
+{-| Get the last element of a container or return a default value if the container
+    is empty
+-}
+lastDef :: a -> Fold a a
+lastDef a = Fold (\_ a' -> a') a id
+{-# INLINABLE lastDef #-}
 
 -- | Returns 'True' if the container is empty, 'False' otherwise
 null :: Fold a Bool
