public static FunctionNode fromNode(ObjectNode function) {
        List<Expression> arguments = new ArrayList<>();
        for (Node node : function.expectArrayMember(ARGV).getElements()) {
            arguments.add(Expression.fromNode(node));
        }
        return builder()
                .sourceLocation(function)
                .name(function.expectStringMember(FN))
                .arguments(arguments)
                .build();
    }
Constructs a {@link FunctionNode} from the provided {@link ObjectNode}.

@param function the node describing the function.
@return the {@link FunctionNode}.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/syntax/expressions/functions/FunctionNode.java