Non-POD/Copy elements require a transmute to/from `[MaybeUninit<T>, N]` and plenty of unsafe code to fill or extract the array element-wise. In C++ you can use a union and placement new for creating the array.