code: def __iadd__(graph, other):
      """In-place addition (disjoint union).
  
      @see: L{__add__}
      """
      if isinstance(other, (int, str)):
          graph.add_vertices(other)
          return graph
      elif isinstance(other, tuple) and len(other) == 2:
          graph.add_edges([other])
          return graph
      elif isinstance(other, list):
          if not other:
              return graph
          if isinstance(other[0], tuple):
              graph.add_edges(other)
              return graph
          if isinstance(other[0], str):
              graph.add_vertices(other)
              return graph
      return NotImplemented
  
file_path: python-igraph/src/igraph/operators/methods.py
imports: from igraph._igraph import GraphBase, Vertex, Edge
  from igraph.seq import VertexSeq, EdgeSeq
  from igraph.operators.functions import disjoint_union, union, intersection
label_desc: Use image node_id 4 for calling a global function with example usage: __iadd__(graph, other) and returns: NotImplemented, graph, graph, graph, graph, graph