docs: def convert_graph_directed_to_undirected(dg):
      """Converts a directed graph into an undirected graph. Directed edges are made undirected."""
  
      udg = UndirectedGraph()
  
      # Copy the graph
      # --Copy nodes
      # --Copy edges
      udg.nodes = copy.deepcopy(dg.nodes)
      udg.edges = copy.deepcopy(dg.edges)
      udg.next_node_id = dg.next_node_id
      udg.next_edge_id = dg.next_edge_id
  
      # Convert the directed edges into undirected edges
      for edge_id in udg.get_all_edge_ids():
          edge = udg.get_edge(edge_id)
          target_node_id = edge['vertices'][1]
          target_node = udg.get_node(target_node_id)
          target_node['edges'].append(edge_id)
  
      return udg