I have a question:
will T[new] a;allocate something? Or will the allocation of the hidden library array object delayed until the length is set to non null? If the library array object is not allocated, will a.ptr, a.capacity and a.length simply return null?