Remove `error` function
Use table for scope-sets
Fix indent
Rename captured variable name
Add `scope-local-has?` and `scope-upper-vars-has?` functions
Do not store upper-vars in scope
Add `override` modifier to mark method
Add `scope-sets-has?` function
Use `receive` instead of calling `table-exists?` and `table-get`
Show function name on illegal argument number
No need to traverse set! var
Detect tail call in traversal phase