if ("len".equals(name) || "length".equals(name) || "size".equals(name) || "count".equals(name)) {
return new LengthOfFunction(arguments, line, column);
} else if ("upper".equals(name)) {
return new UpperCaseFunction(arguments, line, column);
} else if ("lower".equals(name)) {
return new LowerCaseFunction(arguments, line, column);
} else if ("!".equals(name)) {
return new NotFunction(arguments, line, column);
} else if ("resolve".equals(name)) {
return new ResolveFunction(arguments, line, column);
} else if ("match".equals(name) || "matches".equals(name)) {