 1 Div
 2 ├─ AddMul(variant = "MUL",)
 3 │  ├─ Term
 4 │  │  ├─ AddMul(variant = "ADD",)
 5 │  │  │  ├─ Const(1)
 6 │  │  │  ├─ AddMul(variant = "MUL",)
 7 │  │  │  │  ├─ Const(2)
 8 │  │  │  │  └─ Sym(x)
 9 │  │  │  └─ AddMul(variant = "MUL",)
10 │  │  │     ├─ Const(3)
11 │  │  │     └─ Sym(y) metadata=(Integer => 42,)
12 │  │  └─ Const(2)
13 │  └─ Sym(z)
14 └─ AddMul(variant = "ADD",)
15    ├─ AddMul(variant = "MUL",)
16    │  ├─ Const(2)
17    │  └─ Sym(x)
18    └─ Sym(z)

Hint: call SymbolicUtils.pluck(expr, line_number) to get the subexpression starting at line_number