.
I prefer this, personally. And this is all about personal preference.
I guess arrays don't need special handling because their memory is explicitly accounted for, but it would probably be good to check that a sentinel-terminated array initialized as `undefined` does get the correct sentinel value.