Avoid redundant UniqueId/ObjectId allocations and set operation.
Handle cycle failure more gracefully.
More detailed status logging.
Handle equivalence correctly after node insert/removal.