namespace; include rt; struct pt { int x; int get() { rt.trace(); return this.x; } }; int apply(fn(int) f, int v) { return f(v); } int rec(int n) { if (n == 0) { rt.trace(); return 0; } return rec(n - 1) + 1; } lines off; int quiet(int n) { rt.trace(); return n; } lines on; int loud(int n) { return quiet(n) + 1; } int main() { pt* p = rt.new(pt); p.x = 3; int k = 5; rt.put_n(p.get()); rt.put_c(10); rt.put_n(apply(fn(int a) { int b = a + k; rt.trace(); return b; }, 4)); rt.put_c(10); rec(60); loud(2); return 0; }