Force-directed graph layouts assume edges to be straight lines. A Slot
represents the space that a single edge, or multiple edges can occupy between two nodes.
We achieve this by bringing edges into a canonical form via SlotId, which
we can then use to find duplicates.