patch 8.2.3229: Vim9: runtime and compile time type checks are not the same

Problem:    Vim9: runtime and compile time type checks are not the same.
Solution:   Add more runtime type checks for builtin functions. (Yegappan
            Lakshmanan, closes #8646)
diff --git a/src/misc1.c b/src/misc1.c
index b6325dc..e66f5a8 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -632,6 +632,9 @@
 {
     char_u	buf[4];
 
+    if (in_vim9script() && check_for_opt_bool_arg(argvars, 0) == FAIL)
+	return;
+
     CLEAR_FIELD(buf);
 
     if (time_for_testing == 93784)
@@ -733,6 +736,9 @@
     char_u	*include = NULL;
     int		i;
 
+    if (in_vim9script() && check_for_opt_string_arg(argvars, 0) == FAIL)
+	return;
+
     ga_init2(&ga, 1, 20);
     if (argvars[0].v_type != VAR_UNKNOWN)
 	include = tv_get_string(&argvars[0]);
@@ -2353,7 +2359,7 @@
 
     if (in_vim9script()
 	    && (check_for_string_arg(argvars, 0) == FAIL
-		|| check_for_opt_string_or_number_arg(argvars, 1) == FAIL))
+		|| check_for_string_or_number_or_list_arg(argvars, 1) == FAIL))
 	return;
 
     if (argvars[1].v_type != VAR_UNKNOWN)