I don't have the environment to use the ___BEGIN_ALLOC_VECTOR() macros. (No ___hp).

I know the size ahead of time.  If possible, I'd like to avoid passing ___hp all the way down.

Actually, this is one place where I'd love documentation - the environment for writing C functions and how things are protected from gc, etc.   I can put it together after I figure it out.