@Override
    public Value visitLibraryFunction(FunctionDefinition definition, List<Expression> arguments) {
        List<Value> values = new ArrayList<>();
        for (Expression argument : arguments) {
            values.add(argument.accept(this));
        }
        return definition.evaluate(values);
    }
Evaluates the given condition in the current scope.

@param condition the condition to evaluate.
@return the value returned by the condition.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/evaluation/RuleEvaluator.java