docs: def _get_values(value):
      """Generate a range object from (start, stop[, step]) tuples, or
      return value.
  
      """
      if (isinstance(value, tuple) and (2 <= len(value) <= 3) and
              all(hasattr(i, "__int__") for i in value)):
          # We use values[1] + 1 as stop value for (x)range to maintain
          # the behavior of using tuples as field `values`
          return range(*((int(value[0]), int(value[1]) + 1) +
                         tuple(int(v) for v in value[2:])))
      return value