There is a small chance that codegen and everything works fine, but the generated code is wrong because of mismatched expectations on two sides, so we have some tests to catch that.