diff --git a/helpers.go b/helpers.go
index eff26a5..48e1133 100644
--- a/helpers.go
+++ b/helpers.go
@@ -20,8 +20,8 @@ func EvalString(ctx ExprContext, source string) (result any, err error) {
 }
 
 type Arg struct {
-	name  string
-	value any
+	Name  string
+	Value any
 }
 
 func EvalStringA(source string, args ...Arg) (result any, err error) {
@@ -31,23 +31,23 @@ func EvalStringA(source string, args ...Arg) (result any, err error) {
 func EvalStringV(source string, args []Arg) (result any, err error) {
 	ctx := NewSimpleFuncStore()
 	for _, arg := range args {
-		if isFunc(arg.value) {
-			if f, ok := arg.value.(FuncTemplate); ok {
+		if isFunc(arg.Value) {
+			if f, ok := arg.Value.(FuncTemplate); ok {
 				functor := &simpleFunctor{f: f}
-				ctx.RegisterFunc(arg.name, functor, 0, -1)
+				ctx.RegisterFunc(arg.Name, functor, 0, -1)
 			} else {
-				err = fmt.Errorf("invalid function specification: %q", arg.name)
+				err = fmt.Errorf("invalid function specification: %q", arg.Name)
 			}
-		} else if integer, ok := anyInteger(arg.value); ok {
-			ctx.SetVar(arg.name, integer)
-		} else if float, ok := anyFloat(arg.value); ok {
-			ctx.SetVar(arg.name, float)
-		} else if _, ok := arg.value.(string); ok {
-			ctx.SetVar(arg.name, arg.value)
-		} else if _, ok := arg.value.(bool); ok {
-			ctx.SetVar(arg.name, arg.value)
+		} else if integer, ok := anyInteger(arg.Value); ok {
+			ctx.SetVar(arg.Name, integer)
+		} else if float, ok := anyFloat(arg.Value); ok {
+			ctx.SetVar(arg.Name, float)
+		} else if _, ok := arg.Value.(string); ok {
+			ctx.SetVar(arg.Name, arg.Value)
+		} else if _, ok := arg.Value.(bool); ok {
+			ctx.SetVar(arg.Name, arg.Value)
 		} else {
-			err = fmt.Errorf("unsupported type %T specified for item %q", arg.value, arg.name)
+			err = fmt.Errorf("unsupported type %T specified for item %q", arg.Value, arg.Name)
 		}
 	}