codegen: implement proper binding/ scoping in let