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/sign.c b/src/sign.c
index bd8cb6c..c208a0e 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -2300,6 +2300,12 @@
     if (rettv_list_alloc_id(rettv, aid_sign_getplaced) != OK)
 	return;
 
+    if (in_vim9script()
+	    && (check_for_opt_string_or_number_arg(argvars, 0) == FAIL
+		|| (argvars[0].v_type != VAR_UNKNOWN
+		    && check_for_opt_dict_arg(argvars, 1) == FAIL)))
+	return;
+
     if (argvars[0].v_type != VAR_UNKNOWN)
     {
 	// get signs placed in the specified buffer