locals get a different name for each environment
avoid creating a nested scope for a LET if no bindings are going to be captured