patch 8.2.1136: Vim9: return type of argv() is always any

Problem:    Vim9: return type of argv() is always any.
Solution:   Use list<string> if there is no argument.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index c3eaef2..5215bef 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -371,6 +371,17 @@
     return &t_list_dict_any;
 }
 
+    static type_T *
+ret_argv(int argcount, type_T **argtypes UNUSED)
+{
+    // argv() returns list of strings
+    if (argcount == 0)
+	return &t_list_string;
+
+    // argv(0) returns a string, but argv(-1] returns a list
+    return &t_any;
+}
+
 static type_T *ret_f_function(int argcount, type_T **argtypes);
 
 /*
@@ -448,7 +459,7 @@
     {"argc",		0, 1, 0,	  ret_number,	f_argc},
     {"argidx",		0, 0, 0,	  ret_number,	f_argidx},
     {"arglistid",	0, 2, 0,	  ret_number,	f_arglistid},
-    {"argv",		0, 2, 0,	  ret_any,	f_argv},
+    {"argv",		0, 2, 0,	  ret_argv,	f_argv},
     {"asin",		1, 1, FEARG_1,	  ret_float,	FLOAT_FUNC(f_asin)},
     {"assert_beeps",	1, 2, FEARG_1,	  ret_number,	f_assert_beeps},
     {"assert_equal",	2, 3, FEARG_2,	  ret_number,	f_assert_equal},