That previous function manages the block scoping for the let variables. If you follow the implementation, it is being assigned to funct["(blockscope)"] and I manage the scoping as an array stack of blocks. It is not the same design pattern you used for function scoping, so you may prefer another way to implement that.