anchor.diff:    end;
   end;
   
  +extension method Foundation.INSFastEnumeration.First(): nullable id;
  +begin
  +  var lState: NSFastEnumerationState := default(NSFastEnumerationState);
  +  var lObject: id;
  +  if Foundation.INSFastEnumeration(self).countByEnumeratingWithState(var lState) objects(var lObject) count(1) ≥ 1 then //cast is workaround, remove;
  +    result := lState.itemsPtr[0]
  +  else
  +    raise new Exception("Sequence is empty.");
  +end;
  +
  +extension method Foundation.INSFastEnumeration.First(aBlock: not nullable PredicateBlock): nullable id;
  +begin
  +  for each i in self do
  +    if aBlock(i) then
  +      exit i;
  +  raise new Exception("Sequence is empty.");
  +end;
  +
   extension method Foundation.INSFastEnumeration.FirstOrDefault(): nullable id;
   begin
     var lState: NSFastEnumerationState := default(NSFastEnumerationState);
  
positive.code: 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;
  
negative.code: extension method Foundation.INSFastEnumeration.FirstOrDefault(aBlock: not nullable PredicateBlock): nullable id;
  begin
    for each i in self do
      if aBlock(i) then
        exit i;
  end;
  
  extension method Foundation.INSFastEnumeration.Any(): Boolean;
  