struct and union kinds are followed by multiple Member structs. The exact number is stored in vlen

Fields

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