fix typo
simplify relationships
simplify the consumer/producer relationship
simplifying graph

No Relationship -- just a simple, directed graph. The "relationship"
info is handled by having two separate graphs.
combine two-directional dependencies to one

That is, if A -> B and B -> A, then create a single A <-> B