Ok but these messages are isomorphic on the wire:
message enc {
int foo = 1;
SomeMessage bar = 2;
}
message dec {
bool should_explode = 1;
string why = 2;
}
You can successfully decode the latter from an encoding of the former.