type Vec { len: usize = 0, first: T, items: [N]T, } enum TokenKind: u8 { identifier, eof, } enum NodeKind: u8 { root, literal, } export c fn main() -> u8 { let bytes: Vec = Vec { first: 3_u8, items: [1_u8, 2_u8] } let tokens: Vec = Vec { first: TokenKind.identifier, items: [TokenKind.identifier, TokenKind.eof] } let nodes: Vec = Vec { first: NodeKind.root, items: [NodeKind.root, NodeKind.literal] } if bytes.first == 3_u8 { if tokens.first == TokenKind.identifier { if nodes.first == NodeKind.root { return 61_u8 } } } return 0_u8 }