anchor.diff:  end;
   
   procedure TNullableBoolean.SetValue(AValue: Boolean);
  +begin
  +  InternalSetValue(AValue);
  +  FTagChanged:= false;
  +end;
  +
  +procedure TNullableBoolean.InternalSetValue(AValue: Boolean);
   begin
     FValue:= aValue;
     FIsNull := false;
  
positive.code:     else
        Result := tmpBool <> Self.Value;
      if Result then
        Self.Value:= tmpBool;
    end;
    Self.FTagChanged:= Result;
  end;
  
  class function TNullableBoolean.StringToVariant(const aValue: String): Variant;
  
negative.code:     else
        Result := not DoublesAreEqual(Self.Value, tmpDate);
      if Result then
        Self.InternalSetValue(tmpDate);
    end;
    Self.FTagChanged:= Result or Self.FTagChanged;
  end;
  
  class function TNullableDateTime.StringToVariant(const aValue: String): Variant;
  