code: function bailoutOnAlreadyFinishedWork(current, workInProgress) {
      {
        cancelWorkTimer(workInProgress);
      }
  
      // TODO: We should ideally be able to bail out early if the children have no
      // more work to do. However, since we don't have a separation of this
      // Fiber's priority and its children yet - we don't know without doing lots
      // of the same work we do anyway. Once we have that separation we can just
      // bail out here if the children has no more work at this priority level.
      // if (workInProgress.priorityOfChildren <= priorityLevel) {
      //   // If there are side-effects in these children that have not yet been
      //   // committed we need to ensure that they get properly transferred up.
      //   if (current && current.child !== workInProgress.child) {
      //     reuseChildrenEffects(workInProgress, child);
      //   }
      //   return null;
      // }
  
      cloneChildFibers(current, workInProgress);
      return workInProgress.child;
    }
docs: /*
  function reuseChildrenEffects(returnFiber : Fiber, firstChild : Fiber) {
  let child = firstChild;
  do {
  Ensure that the first and last effect of the parent corresponds
  to the children's first and last effect.
  if (!returnFiber.firstEffect) {
  returnFiber.firstEffect = child.firstEffect;
  }
  if (child.lastEffect) {
  if (returnFiber.lastEffect) {
  returnFiber.lastEffect.nextEffect = child.firstEffect;
  }
  returnFiber.lastEffect = child.lastEffect;
  }
  } while (child = child.sibling);
  }