dateAdd :: DateInt -- ^ DateInt to shift
        -> Int -- ^ Number of days to shift
        -> DateInt -- ^ The new, shifted DateInt. 
dateAdd date offset = let shifted = Date.addDays (fromIntegral offset) (dateFromDateInt date)
                      in let (year, month, day) = Date.toGregorian shifted
                         in getDateInt (day + month * 100 + fromIntegral year * 10000)
dateAdd :: DateInt -- ^ DateInt to shift
        -> Int -- ^ Number of days to shift
        -> DateInt
dateAdd date offset = let shifted = Date.addDays (fromIntegral offset) (dateFromDateInt date)
                      in let (year, month, day) = Date.toGregorian shifted
                         in getDateInt (day + month * 100 + fromIntegral year * 10000)
dateAdd date offset = let shifted = Date.addDays (fromIntegral offset) (dateFromDateInt date)
                      in let (year, month, day) = Date.toGregorian shifted
                         in getDateInt (day + month * 100 + fromIntegral year * 10000)