recursion: free variables added; FuncDefn has proper substitution; bizzare coercion to Term required in context