Return value from functions when doing recursive walk

I needed a return value when I walked down the expressions and this is much nicer then storing it in the state.