transmute_mut! documents the requirements that:
T: Sized + IntoBytes
U: Sized + FromBytes
align_of::<T>() >= align_of::<U>()
However, this is less strict that what is actually required:
T: FromBytes + IntoBytes + NoCell
U: FromBytes + IntoBytes + NoCell
size_of::<T>() == size_of::<U>()
align_of::<T>() >= align_of::<U>()
The size and NoCell requirements are also similarly missing from transmute_ref!.