diff --git a/src/Data/TimeMap.hs b/src/Data/TimeMap.hs
--- a/src/Data/TimeMap.hs
+++ b/src/Data/TimeMap.hs
@@ -31,6 +31,7 @@
   , adjust
   , adjustWithTime
   , delete
+  , touch
   , -- * Query
     lookup
   , timeOf
@@ -226,6 +227,16 @@
       pure ((), F.Remove)
 
 {-# INLINEABLE delete #-}
+
+
+-- | Resets the key to the current time, and fails silently when the key isn't
+--   present.
+touch :: ( Hashable k
+         , Eq k
+         ) => k -> TimeMap k a -> IO ()
+touch = adjust id
+
+{-# INLINEABLE touch #-}
 
 filter :: ( Hashable k
           , Eq k
diff --git a/timemap.cabal b/timemap.cabal
--- a/timemap.cabal
+++ b/timemap.cabal
@@ -1,5 +1,5 @@
 Name:                   timemap
-Version:                0.0.3
+Version:                0.0.4
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
