Graph representation is based on a mutable hash set.
Graphs have no separate persistent representation.
In terms of the Big-O notation, operation costs on graphs can be summarized as follows:
|shortest path search||
Algorithms are tail recursive so they are guaranteed not to cause any stack overflow.