I find it hard to understand what value to pass for all the arguments
to `merge.update()`. I would like to introduce functions that are more
specific to each use-case. We already have `graft()`. This patch
introduces a `revert_to()` and uses it in some places to show that it
worksn the same vein as the previous patch.