anchor.diff:        4 : (Hash16_1, Hash16_2, Hash16_3, Hash16_4 : Word);
     end;
   
  -  TAutoFreeMode = (afmFree, afmFreeMem, afmStrDispose, afmReleaseInterface);
  +  TAutoFreeMode = (afmFree, afmFreeMem, afmAnsiStrDispose, afmReleaseInterface);
     TDuplicatesMode = (dmNotAllow, dmAllowed, dmReplaceExisting);
   
     { THashTrie }
  
positive.code:     function AddOrReplaceNode(var Root: PKeyValuePairNode; const kvp:
          TKeyValuePair): Boolean;
      procedure NewBacktrackNode(var AIterator: THashTrieIterator; Node:
          PKeyValuePairNode; NextMove: TIteratorMovement);
      function NewKVPNode(const kvp: TKeyValuePair): PKeyValuePairNode;
      procedure NextLeafTreeNode(var AIterator: THashTrieIterator; AFreeNodes:
          Boolean = False);
    protected
      procedure InitLeaf(var Leaf); {$IFNDEF FPC} inline; {$ENDIF}
      procedure FreeKey({%H-}key: Pointer; {%H-}KeySize: Cardinal); virtual;
  
negative.code:     case FAutoFreeValueMode of
        afmFree             : TObject(value).Free;
        afmFreeMem          : FreeMem(value);
        afmAnsiStrDispose   : {$IFDEF UNICODE}AnsiStrings.{$ENDIF}StrDispose(PAnsiChar(value));
        afmReleaseInterface : IUnknown(Value)._Release;
      end;
  end;
  