Correct implementation of moveForwardUntilMemoryChanges() and moveBackwardUntilMemoryChanges().
Don't use "constraint=false" because it makes dot fail to correctly connect the edges to ports.