That's a good call. Right now creating a CString isnt safe by hand. I expect we will iterate on its design for a bit after this PR lands. Maybe a better idea would would be better to split it into two structures. One that takes `*T` and one `*mut T` and only implement as_mut_buf on the second type.