class_docstr: Support structure for PVector that implements structural sharing for vectors using a trie.
class_docstr_tok: ["Support","structure","for","PVector","that","implements","structural","sharing","for","vectors","using","a","trie","."]
code: def _do_set(self, level, node, i, val):
      ret = list(node)
      if level == 0:
          ret[i & BIT_MASK] = val
      else:
          sub_index = (i >> level) & BIT_MASK  # >>>
          ret[sub_index] = self._do_set(
              level - SHIFT, node[sub_index], i, val
          )
  
      return ret
  
imports: from abc import abstractmethod, ABCMeta
  from collections.abc import Sequence, Hashable
  from numbers import Integral
  import operator
  from typing import TypeVar, Generic
  from pyrsistent._transformations import transform
label_desc: Use image node_id 24 for calling the PythonPVector obj's underlying member method code with example usage: obj._do_set(level, node, i, val) and returns: ret