patch 8.2.3188: Vim9: argument types are not checked at compile time

Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks, also at runtime. (Yegappan
            Lakshmanan, closes #8587)
diff --git a/src/blob.c b/src/blob.c
index 4685dc9..6855935 100644
--- a/src/blob.c
+++ b/src/blob.c
@@ -415,9 +415,16 @@
 blob_remove(typval_T *argvars, typval_T *rettv)
 {
     int		error = FALSE;
-    long	idx = (long)tv_get_number_chk(&argvars[1], &error);
+    long	idx;
     long	end;
 
+    if (in_vim9script()
+	    && (check_for_blob_arg(argvars, 0) == FAIL
+		|| check_for_number_arg(argvars, 1) == FAIL
+		|| check_for_opt_number_arg(argvars, 2) == FAIL))
+	return;
+
+    idx = (long)tv_get_number_chk(&argvars[1], &error);
     if (!error)
     {
 	blob_T  *b = argvars[0].vval.v_blob;