anchor.diff:      end;
   end;
   
  +function TCommonRecordList<T>.IndexOf(constref AValue: T): SizeInt;
  +begin
  +  if Assigned(FCustomIndexOf) then
  +    Result := FCustomIndexOf(AValue)
  +  else
  +    Result := inherited IndexOf(AValue);
  +end;
  +
   end.
   
  
positive.code:   inherited;
  
    Duplicates := dupAccept;
  end;
  
  function TCommonRecordList<T>.Add(const Value: T): integer;
  
negative.code: 
    TCommonRecordList<T: record> = class(TList<T>)
    public type
      TOnCustomIndexOf = function(constref AValue: T): SizeInt of object;
      TOnForEach = procedure (AIndex: integer;
                              var AItem: T;
                              var ABreak: boolean) of object;
    private
      FDuplicates: TDuplicates;
      FCustomIndexOf: TOnCustomIndexOf;
  
      procedure ClearItemProc(AIndex: integer;
                              var AItem: T;
  