Make all local scope variables EXTERNABLE (by attaching them to this._lastResult)
function MyFunc(a,b,c){
b="0"
c="Zero"
let d=0x0
return 5
}
MyFunc({ val:0 },4,6,8) // 5
this._lastResult // { a:{ val:0 }, b:"0", c:"Zero", d:0x0, return:5 }
// so instead of PUSHING variables ONTO the RETURN stack explicitly, you can PULL variables FROM the return scope