x; } foo(42); { tag: "recFunc", funcName: "foo", params: [{ name:"n", type: { tag:"Number" } }], retType: { tag: "Number" }, body: { tag: "var", name: "n" }, rest: { tag: "call", func: { tag: "var", name: "foo" }, args: [{ tag: "number", n: 42 }], }, } = = x: number var x recFunc foo params body var foo num 42 call func args rest