puti @= fn(i: int) int { #C("printf(\"%ld\\n\", i)"); i }; dbl @= fn(x: &[3]int) { (*x)[0] = (*x)[0] * 2; (*x)[1] = (*x)[1] * 2; (*x)[2] = (*x)[2] * 2; }; foo @= fn() a: int { a = 3; if true { a = 4; } elif false { a = 17+1/0; } }; main @= fn() { a : [3]int; a[0] = 1; dbl(&a); puti(a[0]); };