code: function detachImmediate(manager) {
    const queue = manager.detachQueue;
    const outros = collectAllOutros(manager);
  
    if (!outros.length) {
      manager.detachNodes();
    } else {
      let i = queue.length;
      let j = 0;
      let node, trans;
      const nqueue = (manager.detachQueue = []);
  
      start: while (i--) {
        node = queue[i].node;
        j = outros.length;
        while (j--) {
          trans = outros[j].element.node;
          // check to see if the node is, contains, or is contained by the transitioning node
          if (trans === node || trans.contains(node) || node.contains(trans)) {
            nqueue.push(queue[i]);
            continue start;
          }
        }
  
        // no match, we can drop it
        queue[i].detach();
      }
    }
  }
docs: check through the detach queue to see if a node is up or downstream from a transition and if not, go ahead and detach it