We present a novel alternative to the standard edit-script model used to describe changes in tree-structured data. Instead of a procedural edit script, we use a declarative description of tree transformations. This approach allows us to cleanly describe subtree operations such as moves and copies, leading to simpler differencing algorithms.