code: def _expand(self, pos):
          
          _lists = self._lists
          _keys = self._keys
          _index = self._index
  
          if len(_keys[pos]) > self._dual:
              _maxes = self._maxes
              _load = self._load
  
              _lists_pos = _lists[pos]
              _keys_pos = _keys[pos]
              half = _lists_pos[_load:]
              half_keys = _keys_pos[_load:]
              del _lists_pos[_load:]
              del _keys_pos[_load:]
              _maxes[pos] = _keys_pos[-1]
  
              _lists.insert(pos + 1, half)
              _keys.insert(pos + 1, half_keys)
              _maxes.insert(pos + 1, half_keys[-1])
  
              del _index[:]
          else:
              if _index:
                  child = self._offset + pos
                  while child:
                      _index[child] += 1
                      child = (child - 1) >> 1
                  _index[0] += 1
docs: Splits sublists that are more than double the load level.
  
          Updates the index when the sublist length is less than double the load
          level. This requires incrementing the nodes in a traversal from the
          leaf node to the root. For an example traversal see self._loc.