anchor.diff:  
   procedure TNullableDouble.SetValue(AValue: Double);
   begin
  +  InternalSetValue(AValue);
  +  FTagChanged:= false;
  +end;
  +
  +procedure TNullableDouble.InternalSetValue(AValue: Double);
  +begin
     if FFractionalPartDigits > 0 then
       FValue:= RoundToExt(AValue, FRoundingMethod, FFractionalPartDigits)
     else
  -    FValue:= aValue;
  +    FValue:= RoundDoubleToStandardPrecision(aValue);
     FIsNull := false;
   end;
   
  
positive.code: end;
  
  procedure TNullableDateTime.SetValue(AValue: TDateTime);
  begin
    FValue:= aValue;
    FIsNull := false;
  
negative.code: 
  procedure TNullableTime.SetValue(AValue: TDateTime);
  begin
    InternalSetValue(AValue);
    FTagChanged:= false;
  end;
  
  procedure TNullableTime.InternalSetValue(AValue: TDateTime);
  begin
    FValue:= aValue;
    FIsNull := false;
  end;
  