docs: def _format_return_timestamps(self, return_timestamps=None):
          """
          Format the passed in return timestamps value as a numpy array.
          If no value is passed, build up array of timestamps based upon
          model start and end times, and the 'saveper' value.
          """
          if return_timestamps is None:
              # Build based upon model file Start, Stop times and Saveper
              # Vensim's standard is to expect that the data set includes the `final time`,
              # so we have to add an extra period to make sure we get that value in what
              # numpy's `arange` gives us.
              return_timestamps_array = np.arange(
                  self.components.initial_time(),
                  self.components.final_time() + self.components.saveper(),
                  self.components.saveper(), dtype=np.float64
              )
          elif inspect.isclass(range) and isinstance(return_timestamps, range):
              return_timestamps_array = np.array(return_timestamps, ndmin=1)
          elif isinstance(return_timestamps, (list, int, float, np.ndarray)):
              return_timestamps_array = np.array(return_timestamps, ndmin=1)
          elif isinstance(return_timestamps, _pd.Series):
              return_timestamps_array = return_timestamps.as_matrix()
          else:
              raise TypeError('`return_timestamps` expects a list, array, pandas Series, '
                              'or numeric value')
          return return_timestamps_array