return reconcileChildrenArray(
        returnFiber,
        currentFirstChild,
        newChild,
        expirationTime,
      );
    }
    if (getIteratorFn(newChild)) {
      return reconcileChildrenIterator(
        returnFiber,
        currentFirstChild,
        newChild,
        expirationTime,
      );
    }
    if (isObject) {
      throwOnInvalidObjectType(returnFiber, newChild);
    }
    if (__DEV__) {
      if (typeof newChild === 'function') {
        warnOnFunctionType();
      }
    }
    if (typeof newChild === 'undefined') {
      // 
      // 
      // 
      switch (returnFiber.tag) {
        case ClassComponent: {
          if (__DEV__) {