The constructor takes a `ref ArrayType`, but `_ptr` is actually stored as a pointer to the first element. So using `*_ptr` would not work.

We could also just store an `ArrayType*`, but I figure a single cast is not the end of the world, and storing a pointer to static array (vs raw array) triggers bound checks on code that is already unsafe, so buys us nothing.