patch 8.2.2527: Vim9: lambda return type is not determined at script level

Problem:    Vim9: lambda return type is not determined at script level.
Solution:   Compile the lambda to get the return type. (closes #7843)
diff --git a/src/eval.c b/src/eval.c
index aae6ee8..785d841 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3421,7 +3421,17 @@
      */
     case '(':	ret = NOTDONE;
 		if (in_vim9script())
+		{
 		    ret = get_lambda_tv(arg, rettv, TRUE, evalarg);
+		    if (ret == OK && evaluate)
+		    {
+			ufunc_T *ufunc = rettv->vval.v_partial->pt_func;
+
+			// compile it here to get the return type
+			compile_def_function(ufunc,
+						 TRUE, PROFILING(ufunc), NULL);
+		    }
+		}
 		if (ret == NOTDONE)
 		{
 		    *arg = skipwhite_and_linebreak(*arg + 1, evalarg);