_omitOverlappingInstances(nodeArrays) {
    var set = new Set();

    var hasOverlap = (nodes) => {
      return nodes.some(node => set.has(node));
    };

    var addNodes = (nodes) => {
      nodes.forEach(node => set.add(node));
    };

    for (let i = 0; i < nodeArrays.length; i++) {
      if (hasOverlap(nodeArrays[i])) {
        nodeArrays.splice(i--, 1);
        continue;
      } else {
        addNodes(nodeArrays[i]);
      }
    }
  }
Removes overlapping instances from a group of node arrays. That is,
if one instance has nodes abcd, and another has bcde, then bcde will
be removed from the array.

@private

@param {Node[][]} nodeArrays