class_docstr: In-house ODE integrator.
  
  Parameters
  ----------
  n_steps : int
      Number of steps to perform.
  step_type : str
      Type of integration step.
      Possible values are `euler`, `rk2`, `rk4`.
  save_result : bool
      If True, result is stored after calling `integrate` or `integrate_t`.
code: def step_type(self, value):
      if callable(value):
          step_function = value
          value = None
      else:
          check_parameter_accepted_values(
              value, "step_type", gs_integrator.STEP_FUNCTIONS
          )
          step_function = getattr(
              gs_integrator, gs_integrator.STEP_FUNCTIONS[value]
          )
  
      self._step_function = step_function
      self._step_type = value
  
imports: from abc import ABC, abstractmethod
  import scipy
  import geomstats.backend
  import geomstats.integrator
  from geomstats.errors import check_parameter_accepted_values
  from geomstats.numerics._common import result_to_backend_type
label_desc: Use image node_id 3 for calling the GSIVPIntegrator obj's underlying member method code with example usage: obj.step_type(value) without return types