patch 9.0.0624: leaking argument type array

Problem:    Leaking argument type array.
Solution:   Add allocated memory to type_gap.
diff --git a/src/version.c b/src/version.c
index bcc0b24..816dfb4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    624,
+/**/
     623,
 /**/
     622,
diff --git a/src/vim9type.c b/src/vim9type.c
index 6f20554..c4aec7b 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -58,13 +58,10 @@
 	return type;
     *copy = *type;
 
-    if (type->tt_args != NULL)
-    {
-	copy->tt_args = ALLOC_MULT(type_T *, type->tt_argcount);
-	if (copy->tt_args != NULL)
-	    for (int i = 0; i < type->tt_argcount; ++i)
-		copy->tt_args[i] = type->tt_args[i];
-    }
+    if (type->tt_args != NULL
+	   && func_type_add_arg_types(copy, type->tt_argcount, type_gap) == OK)
+	for (int i = 0; i < type->tt_argcount; ++i)
+	    copy->tt_args[i] = type->tt_args[i];
 
     return copy;
 }