Fix many bugs with capturing of function scope, getting "arguments", recursive calling. Optimization