anchor.diff:  extension method Foundation.INSFastEnumeration.Intersect(aSecond: not nullable Foundation.INSFastEnumeration; aComparator: NSComparator := nil): not nullable Foundation.INSFastEnumeration; iterator; public;
   extension method Foundation.INSFastEnumeration.Except(aSecond: not nullable Foundation.INSFastEnumeration; aComparator: NSComparator := nil): not nullable Foundation.INSFastEnumeration; iterator; public;
   
  +extension method Foundation.INSFastEnumeration.Contains(aItem: id): Boolean; public;
   extension method Foundation.INSFastEnumeration.FirstOrDefault: nullable id; public;
   extension method Foundation.INSFastEnumeration.FirstOrDefault(aBlock: not nullable PredicateBlock): nullable id; public;
   extension method Foundation.INSFastEnumeration.Count: NSInteger; public;
  
positive.code: extension method RemObjects.Elements.System.INSFastEnumeration<T>.Except(aSecond: not nullable Foundation.INSFastEnumeration; aComparator: NSComparator := nil): not nullable RemObjects.Elements.System.INSFastEnumeration<T>; 
  begin
    exit Foundation.INSFastEnumeration(self).Except(aSecond, aComparator);  
  end;
  
  extension method RemObjects.Elements.System.INSFastEnumeration<T>.FirstOrDefault: {nullable} T; 
  
negative.code:     NSMutableDictionary(result)[aKeyBlock(i)] := aValueBlock(i);
  end;
  
  extension method Foundation.INSFastEnumeration.Contains(aItem: id): Boolean;
  begin
    if self is NSArray then
      exit (self as NSArray).containsObject(aItem);
    for each i in self do begin
      if (i = nil) then begin
        if (aItem = nil) then exit true;
      end
      else begin
        if i.isEqual(aItem) then exit true;
      end;
    end;
  end;
  
  extension method Foundation.INSFastEnumeration.FirstOrDefault(): nullable id;
  begin
    var lState: NSFastEnumerationState := default(NSFastEnumerationState);
  