None if the edge would violate acyclicity, otherwise the Some tuple contains the new topology, the reference vertex and the affected vertices which need to be moved with respect to the reference to reflect the new ordering. In case that the reference is the source vertex of the added edge, the affected vertices should be moved _after_ the reference and keep their internal grouping order. In case the reference is the target vertex, the affected vertices sequence is guaranteed to consist only exactly one element -- the source vertex -- which should be moved _before_ the reference