puti @= fn(x: int) { #C("printf(\"%ld\\n\", (long)x); "); }; // putf @= fn(x: float) { // #C("printf(\"%f\\n\", (double)x); // "); // }; f @= fn(t @ Type, x: t) t { x + 1 }; g @= fn(x, y @ Type) int { (3 as x) + (5 as y) }; main @= fn() { puti(f(int, 3)); puti(f(u8, 255) as int); puti(g(int, int)); };