docs: def _append_value(self, v_values, next_value, v_idx=None, n_vals=1):
          """Update a list of parsed values with a new value."""
          for _ in range(n_vals):
              if v_idx:
                  try:
                      v_i = next(v_idx)
                  except StopIteration:
                      # Repeating commas are null-statements and can be ignored
                      # Otherwise, we warn the user that this is a bad namelist
                      if next_value is not None:
                          warnings.warn('f90nml: warning: Value {0} is not assigned to '
                                'any variable and has been removed.'
                                ''.format(next_value))
  
                      # There are more values than indices, so we stop here
                      break
  
                  v_s = [self.default_start_index if idx is None else idx
                         for idx in v_idx.first]
  
                  if not self.row_major:
                      v_i = v_i[::-1]
                      v_s = v_s[::-1]
  
                  # Multidimensional arrays
                  if not self.sparse_arrays:
                      pad_array(v_values, list(zip(v_i, v_s)))
  
                  # We iterate inside the v_values and inspect successively
                  # deeper lists within the list tree.  If the requested index is
                  # missing, we re-size that particular entry.
                  # (NOTE: This is unnecessary when sparse_arrays is disabled.)
  
                  v_subval = v_values
                  for (i_v, i_s) in zip(v_i[:-1], v_s[:-1]):
                      try:
                          v_subval = v_subval[i_v - i_s]
                      except IndexError:
                          size = len(v_subval)
                          v_subval.extend([] for _ in range(size, i_v - i_s + 1))
                          v_subval = v_subval[i_v - i_s]
  
                  # On the deepest level, we explicitly assign the value
                  i_v, i_s = v_i[-1], v_s[-1]
                  try:
                      v_subval[i_v - i_s] = next_value
                  except IndexError:
                      size = len(v_subval)
                      v_subval.extend(None for _ in range(size, i_v - i_s + 1))
                      v_subval[i_v - i_s] = next_value
              else:
                  v_values.append(next_value)