docs: def index(self, date):
          '''
          Overloads the default list.index, because of special behaviour if the
          date is not in the list:
              - If <date> is not in the list, the index of the latest date before
                  <date> is returned.
              - If <date> is earlier than the earliest date in the list, the 
                  return value is 0
              - If <date> is later than the latest date in self.dates the return
                  value is the index of the most recent date.
          '''
          if date in self:
              index = super(DateList, self).index(date)
          elif date < self[0]:
              index = 0
          elif date > self[-1]:
              index = len(self) - 1
          else:
              while date not in self:
                  date -= self.ONE_DAY
              index = super(DateList, self).index(date)
          return index