pub fn uninit<T, F, R>(f: F) -> R where
    F: FnOnce(&mut MaybeUninit<T>) -> R,