anchor.diff:    TrieDepthPointerSize       = (sizeof(Pointer) * BitsPerByte) div BitsForChildIndexPerBucket;
   
   type
  +  _Int64 = {$IFDEF FPC}Int64{$ELSE} UInt64 {$ENDIF};
  +
     PTrieBaseNode = ^TTrieBaseNode;
     TTrieBaseNode = record
       ChildrenCount : Word;
  
positive.code: 
  implementation
  
  type
    TTrieInt64ChildIndexMask = {$IFDEF FPC}Int64{$ELSE}UInt64{$ENDIF};
  
  const
    ChildIndexShiftArray16 : array[0..TrieDepth16Bits - 1] of Byte =
      (12, 8, 4, 0);
  
negative.code:     BreadCrumbs : array[0..MaxTrieDepth - 1] of SmallInt;
      ANodeStack : array[0..MaxTrieDepth - 1] of PTrieBaseNode;
      case Integer of
        TrieDepth16Bits       : (LastResult16 : Word;);
        TrieDepth32Bits       : (LastResult32 : Integer;);
        TrieDepth64Bits       : (LastResult64 : _Int64;);
        -TrieDepthPointerSize : (LastResultPtr : Pointer;);
    end;
  
  