patch 8.2.3211: 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. Fix type check for matchaddpos().
            (Yegappan Lakshmanan, closes #8619)
diff --git a/src/typval.c b/src/typval.c
index e22dd3b..61f8eb5 100644
--- a/src/typval.c
+++ b/src/typval.c
@@ -523,6 +523,17 @@
 }
 
 /*
+ * Give an error and return FAIL unless "args[idx]" is an optional channel or a
+ * job.
+ */
+    int
+check_for_opt_chan_or_job_arg(typval_T *args, int idx)
+{
+    return (args[idx].v_type == VAR_UNKNOWN
+	    || check_for_chan_or_job_arg(args, idx) != FAIL);
+}
+
+/*
  * Give an error and return FAIL unless "args[idx]" is a job.
  */
     int