diff --git a/lib/Data/Time/Clock/UTC.hs b/lib/Data/Time/Clock/UTC.hs
index 27c8bb6d326ecf57c88ca8c99f96f6a3a53671fa..683323f2852ceac74305ebc220e67ea65ae6770a 100644
--- a/lib/Data/Time/Clock/UTC.hs
+++ b/lib/Data/Time/Clock/UTC.hs
@@ -45,7 +45,7 @@ data UTCTime = UTCTime {
 #endif
 
 instance NFData UTCTime where
-    rnf (UTCTime d t) = d `deepseq` t `deepseq` ()
+    rnf (UTCTime d t) = rnf d `seq` rnf t `seq` ()
 
 instance Eq UTCTime where
     (UTCTime da ta) == (UTCTime db tb) = (da == db) && (ta == tb)
diff --git a/lib/Data/Time/LocalTime/LocalTime.hs b/lib/Data/Time/LocalTime/LocalTime.hs
index 77ab2cc5ebfb20bf3395a35ce3cf8677d6adeb13..74e4f9c588175501befe5d0d09ad9faf6bf0bcca 100644
--- a/lib/Data/Time/LocalTime/LocalTime.hs
+++ b/lib/Data/Time/LocalTime/LocalTime.hs
@@ -47,7 +47,7 @@ data LocalTime = LocalTime {
     )
 
 instance NFData LocalTime where
-    rnf (LocalTime d t) = d `deepseq` t `deepseq` ()
+    rnf (LocalTime d t) = rnf d `seq` rnf t `seq` ()
 
 instance Show LocalTime where
     show (LocalTime d t) = (showGregorian d) ++ " " ++ (show t)
@@ -91,7 +91,7 @@ data ZonedTime = ZonedTime {
 #endif
 
 instance NFData ZonedTime where
-    rnf (ZonedTime lt z) = lt `deepseq` z `deepseq` ()
+    rnf (ZonedTime lt z) = rnf lt `seq` rnf z `seq` ()
 
 utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
 utcToZonedTime zone time = ZonedTime (utcToLocalTime zone time) zone
diff --git a/lib/Data/Time/LocalTime/TimeOfDay.hs b/lib/Data/Time/LocalTime/TimeOfDay.hs
index 4645857caa36e9b2e1a4990278ca9e410178169d..318c87d75a0023ce80c384067e470914d2a75f00 100644
--- a/lib/Data/Time/LocalTime/TimeOfDay.hs
+++ b/lib/Data/Time/LocalTime/TimeOfDay.hs
@@ -40,7 +40,7 @@ data TimeOfDay = TimeOfDay {
     )
 
 instance NFData TimeOfDay where
-    rnf (TimeOfDay h m s) = h `deepseq` m `deepseq` s `seq` () -- FIXME: Data.Fixed had no NFData instances yet at time of writing
+    rnf (TimeOfDay h m s) = rnf h `seq` rnf m `seq` s `seq` () -- FIXME: Data.Fixed had no NFData instances yet at time of writing
 
 -- | Hour zero
 midnight :: TimeOfDay
diff --git a/lib/Data/Time/LocalTime/TimeZone.hs b/lib/Data/Time/LocalTime/TimeZone.hs
index 1b976434d1fd122618ab96a4fb60d1eefded115e..b876556f953322b71767632ec080065bb33fa5ed 100644
--- a/lib/Data/Time/LocalTime/TimeZone.hs
+++ b/lib/Data/Time/LocalTime/TimeZone.hs
@@ -46,7 +46,7 @@ data TimeZone = TimeZone {
     )
 
 instance NFData TimeZone where
-    rnf (TimeZone m so n) = m `deepseq` so `deepseq` n `deepseq` ()
+    rnf (TimeZone m so n) = rnf m `seq` rnf so `seq` rnf n `seq` ()
 
 -- | Create a nameless non-summer timezone for this number of minutes
 minutesToTimeZone :: Int -> TimeZone