code: def fully_scope_function_calls(node: ast.Tree, expression: ast.Expression, function_set: OrderedDict) -> ast.Expression:
      
      expression_copy = copy.deepcopy(expression)
  
      w = TreeWalker()
      w.walk(FunctionExpander(node, function_set), expression_copy)
      return expression_copy
docs: Turns the function references in this expression into fully scoped
      references (e.g. relative to absolute). The component references of all
      referenced functions are put into the functions set.
  
      :param node: collection for performing symbol lookup etc.
      :param expression: original expression
      :param function_set: output of function component references
      :return: