The basic problem is indeed that we turn zero-dimensional arrays into scalars in `.value`, but cannot actually use these internally, since they cannot be `view`ed as a different array subclass. The change avoids reinitialisation, though, so is hopefully faster.

I can add this to the comment I already added above.