Program (script) @1:1 └─ FunctionDeclaration "outer" @1:1 ├─ parameters │ └─ Identifier "x" @1:16 └─ body └─ FunctionBody @2:5 ├─ VariableDeclaration (let) @2:5 │ └─ VariableDeclarator @2:5 │ ├─ Identifier "y" (let) @2:9 │ └─ NumericLiteral 10 @2:13 ├─ FunctionDeclaration "inner" @3:5 │ ├─ parameters │ │ └─ Identifier "z" [argument:0] @3:20 │ └─ body │ └─ FunctionBody @4:9 │ └─ ReturnStatement @4:9 │ └─ BinaryExpression (+) @4:22 │ ├─ BinaryExpression (+) @4:18 │ │ ├─ Identifier "x" @4:16 │ │ └─ Identifier "y" (let) @4:20 │ └─ Identifier "z" [argument:0] @4:24 └─ ReturnStatement @6:5 └─ CallExpression @6:17 ├─ Identifier "inner" [variable:0] @6:12 └─ NumericLiteral 5 @6:18