anchor.diff:      procedure  SetEntitiesLength(NewLength: Integer);
     public
       property Entity[Index: Integer]: T read GetEntity write SetEntity;
  +    function Count: Integer;
  +    procedure Clear;
     end;
   
   {$ENDREGION ' TGenericEntities '}
  
positive.code: {$REGION ' TGenericEntities '}
  type
    {$IFDEF FPC} generic {$ENDIF} TGenericEntities<T: TEntity> = class(TInterfacedObject)
    private
      FEntity: array of T;
    protected
      function GetEntity(Index: Integer): T;
  
negative.code: {$REGION ' TEntities '}
  
  procedure TEntities{$IFNDEF FPC} <T> {$ENDIF}.Clear;
  begin
    Sections.Clear;
    inherited Clear;
  end;
  
  function TEntities{$IFNDEF FPC} <T> {$ENDIF}.Count: Integer;
  begin
    Result := inherited Count;
  end;
  
  function TEntities{$IFNDEF FPC} <T> {$ENDIF}.Count(X, Y: Integer): Integer;
  