anchor.diff:  
     LYMinus1.FPeriod := nil;
     LYPlus1.FPeriod := nil;
  -  LY1 := nil;
   
     LY1 := {$IFDEF DELPHI}TList{$ELSE}TFPGList{$ENDIF}<TObservedRule>.Create;
     try
  
positive.code: 
    ///  Special type used to manipulate TDateTime in millisecond precision.
    ///  This is an internal type.
    TPreciseTime = type Comp;
  
    /// <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>
  
negative.code: {$IFDEF FPC}
      LRules.Sort(@CompareRulesByStartTime);
  {$ELSE}
      LComparer := TComparer<TPRuleAndYear>.Construct(function(const A, B: TPRuleAndYear): Integer
      begin
        Result := CompareRulesByStartTime(A, B);
      end);
  