module math struct vec2 { x: i32 y: i32 } struct vec3 { x: i32 y: i32 z: i32 } struct color { r: i32 g: i32 b: i32 a: i32 } struct example { a: { a: i32 } b: { b: { c: i32 } c: { d: i32 } } } export enum message { quit move { x: i32 y: i32 } } export func add(a: i32 b: i32): i32 { let message: message = enum math::message::move { x = 1 y = 1 } match message { quit q {} move m { m.x = 23 m.y = 23 } } return math::add_internal(a b) } func add_internal(a: i32 b: i32): i32 { return a + b }