Called by the array constructors. An explicit type is validated and used as
given; NULL means the constructor was called without the argument, in which
case a density is recognised from the other metadata, the way mizer
recognised one before the type attribute existed. That keeps arrays built
by extension packages, and arrays saved by earlier versions, behaving as they
did.
resolve_array_type(type, value_name = NULL, units = NULL)One of array_types.
The type supplied to the constructor, or NULL.
The value_name of the array.
The units of the array.