Смысл в том, что если структура под капотом представлена как динамическое дерево, то ты можешь сравнивать две независимые структуры и делать дифы, не зависимо от того, что там за типы и откуда это пришло. Более того, можно наслаивать объекты один на другой и применять к одному изменения из другого