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 extend(self, obj):
      # Mutates the new vector directly for efficiency but that's only an
      # implementation detail, once it is returned it should be considered immutable
      l = obj.tolist() if isinstance(obj, PythonPVector) else list(obj)
      if l:
          new_vector = self.append(l[0])
          new_vector._mutating_extend(l[1:])
          return new_vector
  
      return self
  
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 32 for calling the PythonPVector obj's underlying member method code with example usage: obj.extend(obj) and returns: self, new_vector