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
