Evaluates the expression with the provided variables.
variables
@override num eval(Map<String, num> variables) => Function.apply( function, arguments.map((argument) => argument.eval(variables)).toList(), );