if the diff failt, at least return the tree as it was