Doh! We were asking for an EHostParamImmediateValue, which is a raw value and ignores the identifier specified. What I meant to write was EHostParamLabeledValue, which matches a label *plus* a preceding identifier. Now we don't snarf up a random value after each object descriptor anymore because we think it's the "of" clause. However, we still have to make the instructions correctly handle the presence of the 3rd parameter.