Graph Theory in Go How to implement a Graph in Go from scratch, then traverse it to count distinct groups