These are commonly used in workflows and downstream libraries. We may be able to reuse code in `from_networkx` to do most of the heavy lifting. To make this most usable, we should be able to do: ```python >>> G = nxcg.Graph() >>> G.add_edges_from(edges) # Still on GPU; not on CPU ``` Related functions (should be separate issues if they need tracked): `to_edgelist` and `from_dict_of_dicts`.