puti @= fn(x: int) { #C("printf(\"%ld\\n\", (long)x); "); }; Point @= struct { x_coordinate, y_coordinate : int; }; somefn @= fn() int { p:Point; x := p.({ t @= int; f @= fn() t { 7 as t }; if f() as int > 3 { "x_coordinate" } else { "y_coordinate" } }); x }; main @= fn() { X @= somefn(); puti(X); puti(somefn()); };