modulebbop-graph
Source: graph.
Purpose: Basic edged graph and operations.
NOTE: A model instance may not be the whole graph, just a subgraph--this is the difference between nodes and named_nodes. nodes are real things, while named_nodes are things referenced by edges.
Check TODOs, we would like everything as linear as possible.
TODO: memoize everything but add*. Functional enough that it should work if we just empty the caches after every add* op.