boolean updateOrdering(DistinctPairSet.DistinctPair pair, RelationType relation, boolean rightDistinct) {
      if (relation != null && (!pair.isOrdered() || relation == RelationType.LT)) return true;
      return update(rightDistinct, !rightDistinct, () -> {
        if (pair.isOrdered() && relation == RelationType.GT) {
          return new DropOrderingMergePatch(rightDistinct, pair);
        }
        return null;
      });
    }
boolean updateOrdering(DistinctPairSet.DistinctPair pair, RelationType relation, boolean rightDistinct)