fix LazyEval with recursion and constants