anchor.diff:  {$IFDEF FPC}
       LRules.Sort(@CompareRulesByStartTime);
   {$ELSE}
  -    LComparer := TComparer<PRule>.Construct(function(const A, B: TPRuleAndYear): Integer
  +    LComparer := TComparer<TPRuleAndYear>.Construct(function(const A, B: TPRuleAndYear): Integer
       begin
         Result := CompareRulesByStartTime(A, B);
       end);
  
positive.code: 
    LYMinus1.FPeriod := nil;
    LYPlus1.FPeriod := nil;
    LY1 := nil;
  
    LY1 := {$IFDEF DELPHI}TList{$ELSE}TFPGList{$ENDIF}<TObservedRule>.Create;
    try
  
negative.code: 
    ///  Special type used to manipulate TDateTime in millisecond precision.
    ///  This is an internal type.
    TPreciseTime = type Int64;
  
    /// <summary>Represents a specific date/time segment of the year.</summary>
    /// <remarks>A calendar year in most time zones is divided into standard/ambiguous/daylight/invalid/standard segments.</remarks>
  