First tree-diff implementation