anchor.diff:      constructor Create; overload;
       constructor Create(const AComparer: IComparer<T>); overload;
       constructor Create(ACollection: TEnumerable<T>); overload;
  -    constructor Create(ACollection: TEnumerableWithPointers<T>); overload;
       destructor Destroy; override;
   
       function Add(constref AValue: T): SizeInt; virtual;
  
positive.code: begin
    for LItem in ACollection do
      Enqueue(LItem);
  end;
  
  constructor TQueue<T>.Create(ACollection: TEnumerableWithPointers<T>);
  var
    LItem: PT;
  begin
    for LItem in ACollection.Ptr^ do
      Enqueue(LItem^);
  end;
  
  destructor TQueue<T>.Destroy;
  
negative.code:     function GetCount: SizeInt; override;
    public
      constructor Create(ACollection: TEnumerable<T>); overload;
      destructor Destroy; override;
      procedure Enqueue(constref AValue: T);
      function Dequeue: T;
  