class_docstr: Stores information about the variable (covariate) passed into the 'contrast'
  or 'wrt' argument for comparisons and slopes. Depending on the effect type
  ('slopes' or 'comparisons'), the values attribute is either: (1) the values
  passed with the 'contrast' or 'wrt' argument, or (2) default are values
  computed by calling 'set_default_variable_values()'.
  
  'VariableInfo' is used to create 'slopes' and 'comparisons' data as well as
  computing the estimates for the 'slopes' and 'comparisons' effects.
  
  Parameters
  ----------
  model : Model
      The bambi Model object.
  variable : str, dict, or list
      The variable of interest passed by the user. `contrast` if 'comparisons'
      and `wrt` if 'slopes'.
  kind : str
      The effect type. Either 'slopes' or 'comparisons'.
  grid : bool or None, optional
      Whether a grid of pairwise values should be used as the data for generating
      predictions. Defaults to False.
  eps : float or None, optional
      The epsilon value used to add to the variable of interest's values when
      computing the 'slopes' effect. Defualts to None.
  user_passed : bool, optional
      Whether the user passed their own values for the variable of interest.
      Defaults to False.
code: def epsilon_difference(self, x, eps) -> np.ndarray:
      return np.array([x, x + eps])
  
imports: from dataclasses import dataclass, field
  from typing import Union
  import numpy
  from formulae.terms.call import Call
  import pandas
  import xarray
  from bambi import Model
  from bambi.utils import listify
  from bambi.interpret.logs import log_interpret_defaults
label_desc: Use image node_id 3 for calling the VariableInfo obj's underlying member method code with example usage: obj.epsilon_difference(x, eps) and returns: np