keep in sync with "CAT_" constants in main.js
pub const Category = union(enum(u8))
pub const Category = union(enum(u8)) {
/// A struct type used only to group declarations.
namespace: Ast.Node.Index,
/// A container type (struct, union, enum, opaque).
container: Ast.Node.Index,
global_variable: Ast.Node.Index,
/// A function that has not been detected as returning a type.
function: Ast.Node.Index,
primitive: Ast.Node.Index,
error_set: Ast.Node.Index,
global_const: Ast.Node.Index,
alias: Decl.Index,
/// A primitive identifier that is also a type.
type,
/// Specifically it is the literal `type`.
type_type,
/// A function that returns a type.
type_function: Ast.Node.Index,
pub const Tag = @typeInfo(Category).@"union".tag_type.?;
}