anchor.diff:      result.free;
     end;
   end;
  +{$ENDIF}
   
   procedure TFslList<T>.Insert(Index: Integer; const Value: T);
   begin
  
positive.code:       exit(true);
  end;
  
  procedure TFslList<T>.copyList(list: TFslList<TFslObject>);
  var
    item : TFslObject;
  
negative.code:     function link : TFslList<T>; overload;
      function forEnum : TFslList<T>; // auto frees a collection once an enumerator is finished with it - a commmon pattern
  
      {$IFNDEF FPC}
      // something about this makes FPC blow up in a different unit
      // if B is a subclass of A, TFslList<B> is not a subclass of TFslList<A>. These 2 routines help deal with this
      function asBase : TFslList<TFslObject>;
      procedure copyList(list : TFslList<TFslObject>);
      {$ENDIF}
  
      class procedure Error(const Msg: string; Data: NativeInt); overload; virtual;
  {$IFNDEF NEXTGEN}
  