Илья, всё это верно, но хотелось бы кое-что уточнить:
> -- Цитата:
> эти типы будут скрывать в себе специфическое управление памятью
Сборка мусора по умолчанию закреплена за Обероном. Если объект уходит из поля видимости, его удаляют. Присвоение объектов происходит по ссылке.
Тот же стандартный делфийский AnsiString (до дельфи 2009) имеет следующий формат:
## Код:
```
TYPE
STRING = ^TString.Data;

TString = RECORD
  RefCount: INTEGER;
  Len: INTEGER;
  Data: ARRAY Len OF CHAR;
  Null: CHAR = #0;
END;
```

Что мешает внутренне работать со строкой как с обычным объектом? Менеджер памяти так или иначе будет присутствовать. Просто во время компиляции "+" заменится на TString.Add, ":=" на TString.Assign и т.д.

Если я в чём-то ошибаюсь, просветите.