struct and union kinds are followed by multiple Member structs. The exact number is stored in vlen
name_off: u32,
typ: u32,
offset: packed struct(u32) { bit: u24, bitfield_size: u8, },
if the kind_flag is set, offset contains both member bitfield size and bit offset, the bitfield size is set for bitfield members. If the type info kind_flag is not set, the offset contains only bit offset