code: def finite_datetimes(self, finite_start, finite_stop):
          
          start_date = self._align(finite_start)
          aligned_stop = self._align(finite_stop)
          dates = []
          for m in itertools.count():
              t = start_date + relativedelta(months=m)
              if t >= aligned_stop:
                  return dates
              if t >= finite_start:
                  dates.append(t)
docs: Simply returns the points in time that correspond to turn of month.