anchor.diff:      if Result then
         Self.Value:= tmpDate;
     end;
  +  Self.FTagChanged:= Result;
   end;
   
   class function TNullableDateTime.StringToVariant(const aValue: String): Variant;
  
positive.code: begin
    tmp := aValue;
    Self.Assign(tmp);
  end;
  
  function TNullableColor.AsVariant: Variant;
  
negative.code:     Result := FValue;
  end;
  
  function TNullableBoolean.CheckIfDifferentAndAssign(const aValue: Variant): boolean;
  var
    tmpBool : boolean;
  begin
    if VarIsNull(aValue) then
    begin
      Result := Self.NotNull;
      Self.IsNull:= true;
    end
    else
    begin
      tmpBool := aValue;
      if Self.IsNull then
        Result := true
      else
        Result := tmpBool <> Self.Value;
      if Result then
        Self.Value:= tmpBool;
    end;
    Self.FTagChanged:= Result;
  end;
  
  class function TNullableBoolean.StringToVariant(const aValue: String): Variant;
  begin
    if (aValue = '') then
  