def METHOD_NAME(
    node: Node,
    visited_children: Tuple[
        str, Any, List[Expression], Any, Union[Node, List[Expression]]
    ],
) -> Expression:
    name, _, params1, _, params2 = visited_children
    param_list1 = tuple(params1)
    internal_f = FunctionCall(None, name, param_list1)
    if isinstance(params2, Node) and params2.text == "":
        # params2.text == "" means empty node.
        return internal_f
    _, param_list2, _ = params2
    if isinstance(param_list2, (list, tuple)) and len(param_list2) > 0:
        param_list2 = tuple(param_list2)
    else:
        # This happens when the second parameter list is empty. Somehow
        # it does not turn into an empty list.
        param_list2 = ()
    return CurriedFunctionCall(None, internal_f, param_list2)