anchor.diff:      else
       begin
         raise ESvRttiException.Create(Format('Property or field %S does not exist for a value %S',
  -        [APropertyName, obj.ToString]));
  +        [APropertyOrFieldName, obj.ToString]));
       end;
     end;
   end;
  
positive.code:     class function GetAttributesOfType<T: class>(const ARttiObject: TRttiObject): TArray<T>;
      class function GetAttributeOfType<T: class>(const ARttiObject: TRttiObject): T;
  
      class procedure SetValue<T>(const APropertyName: string; const AObject: T; const AValue: TValue);
      class procedure SetValueFromString(const AObject: TObject; const AValue: string; AField: TRttiField); overload;
      class procedure SetValueFromString(const AObject: TObject; const AValue: string; AProp: TRttiProperty); overload;
    end;
  
negative.code:   obj: TValue;
  begin
    rType := TRttiContext.Create.GetType(TypeInfo(T));
    rField := rType.GetField(APropertyOrFieldName);
    obj := TValue.From<T>(ATo);
    if Assigned(rField) then
    begin
      if obj.IsObject then
  