@DanH
A const array will always be an array whereas a reg could be something else later :
reg myArray = [] ;
reg myArray = 42;
// this will work.
const myArray = [] ;
const myArray = 42;
// this won't
If I'm not mistaken, it has something to do with memory allocation. That's why it's always a good practice to reserve the arrays's slots number if you know it.
const myArray = [] ;
myArray.reserve(4);
// push 4 variables into the array later
Edit : ah, didn't see @Christoph-Hart 's answer