puti @= fn(x: int) { #C("printf(\"%ld\\n\", (long)x); "); }; putf @= fn(x: float) { #C("printf(\"%f\\n\", (double)x); "); }; // f @= fn(x @ int) Type { // struct { // a: [x]float; // } // }; pair @= fn(s @ Type) Type { [2]s }; main @= fn() { x : pair(int); y : pair(int); z : pair(float); x[0] = 7; puti(x[0]); z[0] = 3.3; putf(z[0]); };