This is the first and only use of `bool` in widl. Later, you're also introducing a new `unsigned int :1` field elsewhere.
I mostly changed this bool and not the other because this one was clearly not saving any space (whereas the other was packed with other fields), and I was thrashing the field name here anyway. I've reverted the change however.
I think something like `is_definition` is also more appropriate for an object property. Same below.
I changed it, although it seems a bit awkward now given 6/6, since the name reflects whether we should define the type when writing the header, not whether the type was defined when parsing (in contrast to the "defined" field of type_t).