use std::mem::MaybeUninit;
pub fn new_uninit_array<T, const N: usize>() -> [MaybeUninit<T>; N] {
[const { MaybeUninit::<T>::uninit() }; N]
}
pub unsafe fn array_assume_init<T, const N: usize>(array: [MaybeUninit<T>; N]) -> [T; N] {
unsafe { array.as_ptr().cast::<[T; N]>().read() }
}