anchor.diff:    Result := TNullableString.Create();
   end;
   
  +procedure TNullableString.Assign(aSource: TNullableString);
  +begin
  +  if not aSource.IsNull then
  +    Self.Value := aSource.Value
  +  else
  +    Self.IsNull := true;
  +end;
  +
   { TNullableDouble }
   
   function TNullableDouble.GetValue: Double;
  
positive.code:     class function CreateNew(aValue : Double) : TNullableDouble; overload;
      class function CreateNew() : TNullableDouble; overload;
  
      property Value : Double read GetValue write SetValue;
    end;
  
  
negative.code:       class function CreateNew(aValue: AnsiString): TNullableAnsiString; overload;
        class function CreateNew(): TNullableAnsiString; overload;
  
        procedure Assign(aSource : TNullableAnsiString);
  
        property Value : AnsiString read GetValue write SetValue;
    end;
  
  