Better code generation for (recur on functions and exceptions handling