Experimenting with ways to make the graph undirected. This commit probably breaks things, and I've not added ANY tests for these features (I'm still working them out.)