function flatten(vTrees, retVal = []) {
  for (let i = 0; i < vTrees.length; i++) {
    const vTree = vTrees[i];

    if (vTree && vTree.rawNodeName === fragmentName) {
      flatten(vTree.childNodes, retVal);
    }
    else if (vTree) {
      retVal.push(vTree);
    }
  }

  return retVal;
}
Will flatten fragments that should remain invisible. If a fragment was
intentionally created to be diffed, such as a component, the rawNodeName
will not match and will be preserved.

@param {VTree[]} vTrees
@param {VTree[]} retVal

@return {VTree[]}