The other elephant in the room is that SIMD often requires specific
alignment for its objects. And C arrays don't come with that; you'd
have to explicitly align them with `alignas`. Which means you now have
to know what alignment to use for the platform, or to use some type
that provides the alignment (which will often require you to restate
the size of the array).
Whereas with a proper, dedicated type, alignment comes for free.