anchor.diff:  
   procedure TNullableString.Assign(const aValue: String; const aAllowBlankValue: boolean);
   begin
  -  Self.Assign(aValue);
  -  if aAllowBlankValue then
  -    Self.ChangeToBlankIfNull;
  +  if (not aAllowBlankValue) and (aValue = '') then
  +    Self.IsNull := true
  +  else
  +    Self.InternalSetValue(aValue);
     FTagChanged:= false;
   end;
   
  
positive.code:     Self.Value:= '';
  end;
  
  class function TNullableString.StringToVariant(const aValue: String): Variant;
  begin
    if aValue = '' then
      Result:= Null
    else
      Result:= aValue;
  
negative.code: begin
    if not IsNull then
      Value:= SysUtils.Trim(Self.Value);
  end;
  
  function TNullableStringRecord.AsString: String;
  