As someone who isn't super familiar with C++, it strikes me as odd that `struct s1 { int i; char c; char c2; }` is smaller than `struct s2 { char c; int i; char c2; }` :blobcheeky:
(I assume this is just some internal optimisation of adjacent chars but I don't need to know the details :P)