Adopting and Disowning
Adopting:(defun insert-child (parent child position)) (defun insert-child-after (parent new-child ref-child) ....) (defun insert-child-before (parent new-child ref-child) ...) (defun append-child (parent child) ...) (defun prepend-child (parent child) ...)
Disowning:
(defun delete-child-if (predicate parent &rest args &key from-end start end count key)) (defun delete-nth-child (idx parent) ...) (defun delete-child (child parent &key from-end test start end count key) ...) (defun delete-children (parent) ...)
In one step (for well-formedness):
(defun replace-child (parent new-child old-child) ...)