diff --git a/fuzzy-time.cabal b/fuzzy-time.cabal
--- a/fuzzy-time.cabal
+++ b/fuzzy-time.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: dea630de13df312effc0438356b40d45d73d14b8b862e0dada4bcb0492bbcc79
+-- hash: 4979abc627af2c6063f556a9b81bcde01dac4d1131f6201b91cc0d4c3556f29e
 
 name:           fuzzy-time
-version:        0.0.0.0
+version:        0.1.0.0
 description:    Fuzzy time types, parsing and resolution
 category:       Time
 homepage:       https://github.com/NorfairKing/fuzzy-time
diff --git a/src/Data/FuzzyTime/Parser.hs b/src/Data/FuzzyTime/Parser.hs
--- a/src/Data/FuzzyTime/Parser.hs
+++ b/src/Data/FuzzyTime/Parser.hs
@@ -227,7 +227,7 @@
 -- - sunday
 --
 -- and all non-ambiguous prefixes
-fuzzyDayOfTheWeekP :: Parser DayOfTheWeek
+fuzzyDayOfTheWeekP :: Parser DayOfWeek
 fuzzyDayOfTheWeekP =
   recTreeParser
     [ ("monday", Monday)
diff --git a/src/Data/FuzzyTime/Resolve.hs b/src/Data/FuzzyTime/Resolve.hs
--- a/src/Data/FuzzyTime/Resolve.hs
+++ b/src/Data/FuzzyTime/Resolve.hs
@@ -132,7 +132,7 @@
               else go (y + 1)
    in go y_
 
-nextDayOfTheWeek :: Day -> DayOfTheWeek -> Day
+nextDayOfTheWeek :: Day -> DayOfWeek -> Day
 nextDayOfTheWeek d dow =
   let (_, _, i_) = toWeekDate d
       down = dayOfTheWeekNum dow
diff --git a/src/Data/FuzzyTime/Types.hs b/src/Data/FuzzyTime/Types.hs
--- a/src/Data/FuzzyTime/Types.hs
+++ b/src/Data/FuzzyTime/Types.hs
@@ -1,6 +1,13 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveGeneric #-}
-
-module Data.FuzzyTime.Types where
+#if MIN_VERSION_time(1,9,0)
+{-# LANGUAGE StandaloneDeriving #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+#endif
+module Data.FuzzyTime.Types
+  ( module Data.FuzzyTime.Types
+  , DayOfWeek(..)
+  ) where
 
 import Data.Fixed
 import Data.Int
@@ -108,7 +115,7 @@
   | DiffDays Int16
   | DiffWeeks Int16
   | DiffMonths Int16
-  | NextDayOfTheWeek DayOfTheWeek
+  | NextDayOfTheWeek DayOfWeek
   | ExactDay Day
   deriving (Show, Eq, Generic)
 
@@ -137,8 +144,8 @@
       ]
 
 instance NFData FuzzyDay
-
-data DayOfTheWeek
+#if !MIN_VERSION_time(1,9,0)
+data DayOfWeek
   = Monday
   | Tuesday
   | Wednesday
@@ -147,11 +154,24 @@
   | Saturday
   | Sunday
   deriving (Show, Eq, Generic, Enum, Bounded)
+#else
+deriving instance Generic DayOfWeek
+#endif
+instance NFData DayOfWeek
 
-instance Validity DayOfTheWeek
+instance Validity DayOfWeek
 
-instance NFData DayOfTheWeek
+dayOfTheWeekNum :: DayOfWeek -> Int
+numDayOfTheWeek :: Int -> DayOfWeek
+#if MIN_VERSION_time(1,9,0)
+dayOfTheWeekNum = fromEnum
 
+numDayOfTheWeek = toEnum
+#else
+dayOfTheWeekNum = (+ 1) . fromEnum
+
+numDayOfTheWeek = toEnum . (\x -> x - 1)
+#endif
 data Month
   = January
   | February
@@ -166,12 +186,6 @@
   | November
   | December
   deriving (Show, Eq, Generic, Enum, Bounded)
-
-dayOfTheWeekNum :: DayOfTheWeek -> Int
-dayOfTheWeekNum = (+ 1) . fromEnum
-
-numDayOfTheWeek :: Int -> DayOfTheWeek
-numDayOfTheWeek = toEnum . (\x -> x - 1)
 
 instance Validity Month
 
