anchor.diff:      FLock: TCriticalSection;
       FReadWriteLock: TMultiReadExclusiveWriteSynchronizer;
     protected
  +    procedure Grow; overload; virtual; abstract;
  +    procedure Grow(N: Integer); overload; virtual; abstract;
       function Get(Index: Integer): Variant; virtual; abstract;
       procedure Put(Index: Integer; const Value: Variant); virtual; abstract;
       function GetCapacity: Integer; virtual; abstract;
  
positive.code:     FList: TVariants;
    protected
      function Get(Index: Integer): Variant; override;
      procedure Grow; overload; virtual;
      procedure Grow(N: Integer); overload; virtual;
      procedure ShiftRight(Index, N: Integer);
      procedure ShiftLeft(Index, N: Integer);
      procedure Put(Index: Integer; const Value: Variant); override;
  
negative.code:   Result := Index > -1;
  end;
  
  function THashMap.Add(const AKey, AValue: Variant): Boolean;
  var
    Index: Integer;
  