Protocols that were being referenced but could not be fully realized were being emitted without properties/optional_properties. Since all v3 protocols must be 9 processor words wide, the lack of these fields is catastrophic for the runtime.
As an example, the runtime cannot know here that properties and optional_properties are invalid.