Oh, didnt finish the demo at the time of writing the comment, my hands were just itching to point that out)
Now that I finishedthe demo, I think that dual type levels are technically still the same, if we make a big bounding box as one big node, right? N-blule2 connections are saved. (This is what I meant by mapping the graph onto a shape, we can map all the edges that touch the outside world on a single shape.) If we go completelety into nodes only territory, we can do the third version, where we have several connections going into the same node.
This also handles the {x} and -x- patterns and 'hanging' nodes surprisingly well, color and number coded all edges and verticies. The 1, 3, 5 and 7 blobs on the middle and right image arent nodes, they are A into A connections. (That's what a hanging node technically is, it seperates A and A planes on the left image.) Conversion is much more neat if converted into a middle version, with an all encompassing outer shell, but the rightmost one is technically proper version to do this.
Would this whimsical nonsense work, or am I missing anything?