use the new uninit intrinsic
fix Zero implementations
fix coercion error
remove unnecessary unsafe blocks
remove usage of to_mut_unsafe_ptr