Index:
Index
assert_eq!(index as usize % mem::size_of::<usize>() as usize, 0);
IndexMut:
IndexMut
assert_eq!(index % mem::size_of::<usize>() as u32, 0);
That's a bit strange.