Return an updated root node from ARRAY-UPDATE rather than a copied collection
Factor out copy-path function