let and if passing eval tests, problem with nested lambda abstractions