code: def evolve(self, new_date):
          
          if self.state.date == new_date and not self.initial_state.date == new_date:
              return self.state
          self.state.value = self.func(self.state, new_date)
          self.state.date = new_date
          return self.state
docs: evolve to the new process state at the next date, i.e. do one step in the simulation
  
          :param date new_date: date of the new state
          :return State: