anchor.diff:  
   { TNullableDateTimeRecord }
   
  +function TNullableDateTimeRecord.Value: TDateTime;
  +begin
  +  if Self.IsNull then
  +    Result := 0
  +  else
  +    Result := FValue;
  +end;
  +
   procedure TNullableDateTimeRecord.SetNull;
   begin
     IsNull:= true;
  -  Value:= 0;
  +  FValue:= 0;
   end;
   
   procedure TNullableDateTimeRecord.SetValue(const aValue: TDateTime);
   begin
     IsNull:= false;
  -  Value:= aValue;
  +  FValue:= aValue;
   end;
   
   procedure TNullableDateTimeRecord.Assign(const aSource: TNullableDatetimeRecord);
   begin
  -  IsNull:= aSource.IsNull;
  -  Value:= aSource.Value;
  +  if aSource.IsNull then
  +    Self.SetNull
  +  else
  +    Self.SetValue(aSource.Value);
   end;
   
   procedure TNullableDateTimeRecord.Assign(const aSourceField: TField);
  
positive.code: 
  end;
  
  function TNullableIntegerRecord.AsVariant: Variant;
  begin
    if IsNull then
  
negative.code: procedure TNullableStringRecord.Trim();
  begin
    if not IsNull then
      SetValue(SysUtils.Trim(Self.Value));
  end;
  
  function TNullableStringRecord.AsString: String;
  