What do S_alloc and S_realloc do? How are they better than alloc/realloc? Do they automatically get free'd by the R gc?