[dist4]message_header // num_bytes [u4]0 // version [u4]0 // interface ID [u4]2 // name [u4]0 // flags [u4]0 // padding [anchr]message_header [dist4]method2_params // num_bytes [u4]0 // version [dist8]param0_ptr // param0 [dist8]param1_ptr // param1 [anchr]method2_params [anchr]param0_ptr [dist4]struct_b // num_bytes [u4]0 // version [dist8]struct_a_ptr // struct_a [anchr]struct_b [u8]0 // Having extra bytes in the middle is okay if the following objects are // still properly alignmented. [anchr]struct_a_ptr [dist4]struct_a_member // num_bytes [u4]0 // version [u8]12345 // i [anchr]struct_a_member [anchr]param1_ptr [dist4]struct_a_param // num_bytes [u4]0 // version [u8]67890 // i [anchr]struct_a_param