       _noLongerRoot child if root?
     _submessagesChanged cmsg.root     ## old root
     _submessagesChanged root ? child  ## new root
+
   doc =
     child: child
     parent: parent
     position: position
     oldParent: oldParent
     oldPosition: oldPosition
+    oldSiblingsBefore: oldSiblingsBefore
+    oldSiblingsAfter: oldSiblingsAfter
   if importing
     #cmsg = Messages.findOne child
     doc.updator = cmsg.creator


  cmsg = Messages.findOne child
  oldPosition = null
  if oldParent
    oldParentMsg = findMessageParent child
    if oldParentMsg?

        (position? and position == oldPosition) or
        (not position? and oldPosition == oldParentMsg.children.length-1)
      )  ## no-op
      oldSiblingsBefore = oldParentMsg.children[...oldPosition]
      oldSiblingsAfter = oldParentMsg.children[oldPosition+1..]
      Messages.update oldParent,
        $pull: children: child
    else
