Yes, but that cost isn't zero for small strings. It isn't too bad though. Note, with a generational GC it all becomes trivial since you go to storing the length of the array in the word before the array data, and then for small arrays you put them in a page with only other small arrays. Hence 1 word of overhead total.