namespace; include rt, actor; typecheck on; struct Node { int value; Node* next; } struct Message { char* text; int[?] numbers; Node* node; } int handle(Message* m) { m.text[0] = 'X'; m.numbers[0] += 10; return rt.len_w(m.text) + m.numbers[0] + m.node.next.value; } fn main() { actor.Actor* a = rt.new(actor.Actor); a.spawn(handle); let result = 0; a.recv(fn(int n) { result = n; return 0; }); Message* m = rt.new(Message); m.text = rt.new(char, 4); m.text[0] = 'a'; m.text[1] = 'b'; m.text[2] = 'c'; m.numbers = rt.new(int[?]); push(m.numbers, 5); m.node = rt.new(Node); m.node.value = 7; m.node.next = m.node; a.send(m); a.await(); rt.put_n(result); rt.put_c(' '); rt.put_c(m.text[0]); rt.put_c(' '); rt.put_n(m.numbers[0]); rt.put_c(10); a.close(); return 0; }