Yes it needs a wrapper. The type contains its align. Calling a function that need align on a not-aligned struct is unsafe (and perhaps unsound)
if a function needs a u8, the function should not acquire the u8 is aligned, and if that function required an aligned item, it should not require u8 type directly in safe Rust.