;; A dyn value's .field and [:key]: a read is get, an assignment is put. defclass(State, [paused bool step bool]) defclass(Pos, [x y]) defclass(Body, [pos count items]) once state = State(false, false) fn game-input() -> () if true state.paused = not(state.paused) fn main() -> i32 game-input() println(state.paused) game-input() println(state.paused) let b = Body(Pos(1, 2), 0, [10 20 30]) b.count += 1 b.count += 1 b.pos.x = 7 b.pos.y *= 10 b.items[0] = 11 b.items[1] += 5 println(b.count, b.pos.x, b.pos.y, b.items[0], b.items[1]) let plain = {:a 1} println(plain.missing) let m = {:hp 3} m.hp -= 1 m[:mp] = 9 m[:mp] += 1 m.name = "slime" println(m[:hp], m.mp, m[:gone], m) 0