anchor.diff:      procedure Pack;
       procedure Reverse;
       procedure Sort; overload;
  -    procedure Sort(CompareProc: TCompareMethod); overload;
  +    procedure Sort(CompareProc: TListCompareMethod); overload;
       procedure TrimExcess;
       property Item[Index: Integer]: Variant read Get write Put; default;
       property Capacity: Integer read GetCapacity write SetCapacity;
  
positive.code:   Sort({$IFDEF FPC}@{$ENDIF}Compare);
  end;
  
  procedure TAbstractList.Sort(CompareProc: TCompareMethod);
    function Partition(L, H: Integer): Integer;
    var
      Elem: Variant;
  
negative.code:   end;
  
  {$IFDEF Supports_Anonymous_Method}
    TListCompareMethod = reference to function (const Value1, Value2: Variant): Integer;
  {$ELSE}
    TListCompareMethod = function (const Value1, Value2: Variant): Integer of object;
  {$ENDIF}
  
    IList = interface(IImmutableList)
  