Worked reconstruction
Use fn difference(a,b){ return a-b; } let result=difference(9,2);.
Parsing creates a function declaration and a variable declaration. Analysis
resolves the function and two parameters, then accepts the two-argument call.
Compilation puts LOAD a; LOAD b; SUB; RETURN in the function body. Main pushes
9, pushes 2, calls difference with arity 2, then defines result. BC1 encodes
those instructions; Decode reconstructs them before Run is called.
The result binding is 7, but the VM's final operand stack is empty, so the
capstone returns nil. To make that internal value observable through a source
program, append if (result != 7) { 1/0; }. Successful completion now proves
that this assertion path did not run. It does not turn result into a top-level
return value.