Fields
name_off: u32,
info: packed struct(u32) { vlen: u16, unused_1: u8, kind: Kind, unused_2: u2, kind_flag: bool, },
size_type: extern union { size: u32, typ: u32, },
size is used by Int, Enum, Struct, Union, and DataSec, it tells the size of the type it is describing
type is used by Ptr, Typedef, Volatile, Const, Restrict, Func, FuncProto, and Var. It is a type_id referring to another type