added plumbing for new make_function_only_at so we can
just make a function without recursive descent