Cell, references, and struct layout

It's a &mut to an object with at least one valid & still live, probably more in actual use. Dioptre instead does this followed by this.

Without the intervening offset calculation you could just go from a &Field to a &Cell<Field> via as, instead of trying to go via Cell::from_mut.