docs: def merge_graphs(main_graph, addition_graph):
      """Merges an ''addition_graph'' into the ''main_graph''.
      Returns a tuple of dictionaries, mapping old node ids and edge ids to new ids.
      """
  
      node_mapping = {}
      edge_mapping = {}
  
      for node in addition_graph.get_all_node_objects():
          node_id = node['id']
          new_id = main_graph.new_node()
          node_mapping[node_id] = new_id
  
      for edge in addition_graph.get_all_edge_objects():
          edge_id = edge['id']
          old_vertex_a_id, old_vertex_b_id = edge['vertices']
          new_vertex_a_id = node_mapping[old_vertex_a_id]
          new_vertex_b_id = node_mapping[old_vertex_b_id]
          new_edge_id = main_graph.new_edge(new_vertex_a_id, new_vertex_b_id)
          edge_mapping[edge_id] = new_edge_id
  
      return node_mapping, edge_mapping