diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,2 +1,7 @@
+# Unreleased
+
+# 0.1.4.0
+* Add interpreters that remain at a fixed instant
+
 # 0.1.0.0
 * initial release
diff --git a/lib/Polysemy/Chronos.hs b/lib/Polysemy/Chronos.hs
--- a/lib/Polysemy/Chronos.hs
+++ b/lib/Polysemy/Chronos.hs
@@ -7,4 +7,10 @@
 ) where
 
 import Polysemy.Chronos.Orphans ()
-import Polysemy.Chronos.Time (ChronosTime, interpretTimeChronos, interpretTimeChronosAt)
+import Polysemy.Chronos.Time (
+  ChronosTime,
+  interpretTimeChronos,
+  interpretTimeChronosAt,
+  interpretTimeChronosConstant,
+  interpretTimeChronosConstantNow,
+  )
diff --git a/lib/Polysemy/Chronos/Time.hs b/lib/Polysemy/Chronos/Time.hs
--- a/lib/Polysemy/Chronos/Time.hs
+++ b/lib/Polysemy/Chronos/Time.hs
@@ -1,14 +1,14 @@
 module Polysemy.Chronos.Time where
 
 import qualified Chronos as Chronos
-import Chronos (Timespan(Timespan), dateToDay, dayToDate, dayToTimeMidnight, timeToDayTruncate)
-
-import Polysemy.Chronos.Orphans ()
-import Polysemy.Time.At (interpretTimeAt)
+import Chronos (Timespan (Timespan), dateToDay, dayToDate, dayToTimeMidnight, timeToDayTruncate)
+import Polysemy.Time.At (interceptTimeAt, interceptTimeConstant, interceptTimeConstantNow)
 import qualified Polysemy.Time.Data.Time as Core
 import Polysemy.Time.Data.Time (Time)
 import Polysemy.Time.Sleep (tSleep)
 
+import Polysemy.Chronos.Orphans ()
+
 -- |Convenience alias for 'Chronos'.
 type ChronosTime =
   Time Chronos.Time Chronos.Date
@@ -45,7 +45,7 @@
       unit
     Core.SetDate _ ->
       unit
-{-# INLINE interpretTimeChronos #-}
+{-# inline interpretTimeChronos #-}
 
 -- |Interpret 'Time' with the types from 'Chronos', customizing the current time at the start of interpretation.
 interpretTimeChronosAt ::
@@ -53,8 +53,26 @@
   Chronos.Time ->
   InterpreterFor ChronosTime r
 interpretTimeChronosAt t =
-  interpretTimeChronos . interpretTimeAt @Timespan t
-{-# INLINE interpretTimeChronosAt #-}
+  interpretTimeChronos . interceptTimeAt @Timespan t
+{-# inline interpretTimeChronosAt #-}
+
+-- |Interpret 'Time' with the types from 'Chronos', customizing the current time to be constant.
+interpretTimeChronosConstant ::
+  Member (Embed IO) r =>
+  Chronos.Time ->
+  InterpreterFor ChronosTime r
+interpretTimeChronosConstant t =
+  interpretTimeChronos . interceptTimeConstant t
+{-# inline interpretTimeChronosConstant #-}
+
+-- |Interpret 'Time' with the types from 'Chronos', customizing the current time to be constantly the time at the
+-- start of interpretation.
+interpretTimeChronosConstantNow ::
+  Member (Embed IO) r =>
+  InterpreterFor ChronosTime r
+interpretTimeChronosConstantNow =
+  interpretTimeChronos . interceptTimeConstantNow @Chronos.Time
+{-# inline interpretTimeChronosConstantNow #-}
 
 negateTimespan :: Timespan -> Timespan
 negateTimespan (Timespan t) =
diff --git a/polysemy-chronos.cabal b/polysemy-chronos.cabal
--- a/polysemy-chronos.cabal
+++ b/polysemy-chronos.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-chronos
-version:        0.1.3.2
+version:        0.1.4.0
 synopsis:       Polysemy-time Interpreters for Chronos
 description:    Please see the readme on Github at <https://github.com/tek/polysemy-time>
 category:       Time
