It probably is a noob question,
but aren't array lengths just hidden size_t values
that are passed around?
Why do we need to allocate space for them, too?
voif foo()
{
size_t length;
char* ptr; //allocated memory of 2^n
//.. the same as..?
char[] data;
}