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