     }
     
     func daysAfter(_ days: Int) -> Date? {
-        guard let startOfDay = self.startOfDay() else { return nil }
-        return startOfDay.addingTimeInterval(DAY*TimeInterval(days))
+        return Calendar.current.date(byAdding: .day, value: days, to: self)?.startOfDay()
     }
     
     func dayAfter() -> Date? {

    //MARK: - Day(s) before/after
    
    func daysBefore(_ days: Int) -> Date? {
        guard let startOfDay = self.startOfDay() else { return nil }
        return startOfDay.addingTimeInterval(-DAY*TimeInterval(days))
    }
    
    func dayBefore() -> Date? {

        }
    }
    
    var daysLeftTillNextWeek: Int {
        switch self {
        case .monday:   return 7
        case .tuesday:  return 6
