would it make sense to assert in make_packed_array() that it does not handle an empty array? this could prevent such missuse...