code: @Value.Derived
    protected boolean referenceCharOffsetsSequential() {
      for (int i = 1; i < characterRegions().size(); ++i) {
        if (!characterRegions().get(i - 1).referenceEndOffsetInclusive().charOffset()
            .precedesOrEquals(
                characterRegions().get(i).referenceStartOffsetInclusive().charOffset())) {
          return false;
        }
      }
      return true;
    }
docs: Nothing actually requires that {@link LocatedString}'s reference character offsets increase
  monotonically, but it is not clear to me anything ever generates things which don't and
  dealing with them is very difficult. So where it matters, we will check this and throw
  an exception for unsupported operations. Whoever needs to support this in the future is
  responsible for dealing with it.