anchor.diff:  class procedure TArrayTool<T>.InsertAt(var Values : TArray<T>; ItemIndex : SizeInt; const Item : T);
   var i : Integer;
   begin
  -  if (ItemIndex < Low(Values)) OR (ItemIndex > High(Values)) then Raise Exception.Create('Invalid Parameter: ItemIndex out of bounds');
  +  if (ItemIndex < Low(Values)) OR (ItemIndex > High(Values)) then Raise Exception.CreateFmt(sInvalidParameter_OutOfBounds, ['ItemIndex']);
     SetLength(Values, Length(Values)+1);
     for i := High(Values)-1 downto ItemIndex do
       Values[i+1] := Values[i];
  
positive.code:   begin
      Inc(LValueIdx);
      if LValueIdx > MAX_VALUES - 1 then
        raise ESearchExpressionParserException.Create('Too many values');
      LValue := @LValues[LValueIdx];
    end;
  
  
negative.code: 
  function UtcTimeStamp : AnsiString;
  begin
    raise Exception.Create(sNotImplemented);
  end;
  
  {%endregion}
  