when i call a lambda, i temporarily remove all global with the name of the locals. then the arguments are assigned and the function evaluated.
calling the expression does it very similar, but uses all dict keys as arguments.
It's line 3346 (lambda) and 3363 (env)