Is replace definitely right - are we guaranteed to get the full subtree in every message, or are there cases where we will only get a partial subtree and need to merge?