It uses the low bit of the pointer to distinguish between KIND_VEC and KIND_ARC. Folded over from #340