namespace keyfield.sample; struct Baz { a: [uint8:4] (key); // A fixed-sized array of uint8 as a Key b: uint8 ; } struct Bar { a: [float:3] (key); // A fixed-sized array of float as a Key b: uint8; } struct Color { rgb: [float:3] (key); tag: uint8; } struct Apple { tag: uint8; color: Color(key); } struct Fruit { a: Apple (key); b: uint8; } struct Rice { origin: [uint8:3]; quantity: uint32; } struct Grain { a: [Rice:3] (key); tag: uint8; } table FooTable { a: int; b: int; c: string (key); d: [Baz]; e: [Bar]; f: [Apple]; g: [Fruit]; h: [Grain]; } root_type FooTable;