anchor.diff:  
   method MZObjectList.countByEnumeratingWithState(state: ^NSFastEnumerationState) objects(buffer: ^id) count(len: NSUInteger): NSUInteger;
   begin
  -  if fItems = nil then MZObjectListInitFields(self); // global methods optimize better.
  -  if (fItems^ ≠ fLastItems) or (fArray = nil) then MZObjectListLoadArray(self);
  -  result := fArray.countByEnumeratingWithState(state) objects(buffer) count(len);
  +  result := NSArray.countByEnumeratingWithState(state) objects(buffer) count(len);
   end;
   
   method MZObjectList.get_count: NSUInteger;
  
positive.code: 
  method MZObjectList.NSArray: NSArray;
  begin
    if fNSArray ≠ nil then begin
      if fItems = nil then MZObjectListInitFields(self);
      if (fArray = nil) then MZObjectListLoadArray(self);
      var lTmp := new NSMutableArray withCapacity(count);
  
negative.code: 
  method MZArray.NSArray: NSArray;
  begin
    if fNSArray = nil then begin
      var lTmp := new NSMutableArray withCapacity(count);
      var lElements := elements;
      if &type = typeOf(String) then begin
        for i: Integer := 0 to count -1 do
          lTmp[i] := MZString.NSStringWithMonoString(^MonoString(lElements[i]));
      end
      else begin
        for i: Integer := 0 to count -1 do
          lTmp[i] := id(&type.alloc()).initWithMonoInstance(lElements[i]);
      end;
      fNSArray := lTmp;
    end;
    result := fNSArray;
  end;
  
  method MZArray.countByEnumeratingWithState(state: ^NSFastEnumerationState) objects(buffer: ^id) count(len: NSUInteger): NSUInteger;
  begin
    result := NSArray.countByEnumeratingWithState(state) objects(buffer) count(len);
  end;
  
  { MZObjectList }
  