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 append(self, val):
      if len(self._tail) < BRANCH_FACTOR:
          new_tail = list(self._tail)
          new_tail.append(val)
          return PythonPVector(
              self._count + 1, self._shift, self._root, new_tail
          )
  
      # Full tail, push into tree
      new_root, new_shift = self._create_new_root()
      return PythonPVector(self._count + 1, new_shift, new_root, [val])
  
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 27 for calling the PythonPVector obj's underlying member method code with example usage: obj.append(val) and returns: PythonPVector, PythonPVector