function canTriggerTransfer(topLevelType, topLevelInst, nativeEvent) {
  return (
    topLevelInst &&
    // responderIgnoreScroll: We are trying to migrate away from specifically
    // tracking native scroll events here and responderIgnoreScroll indicates we
    // will send topTouchCancel to handle canceling touch events instead
    ((topLevelType === TOP_SCROLL && !nativeEvent.responderIgnoreScroll) ||
      (trackedTouchCount > 0 && topLevelType === TOP_SELECTION_CHANGE) ||
      isStartish(topLevelType) ||
      isMoveish(topLevelType))
  );
}
A transfer is a negotiation between a currently set responder and the next
element to claim responder status. Any start event could trigger a transfer
of responderInst. Any move event could trigger a transfer.

@param {string} topLevelType Record from `BrowserEventConstants`.
@return {boolean} True if a transfer of responder could possibly occur.