patch 8.2.1144: Vim9: return type of reverse() is any

Problem:    Vim9: return type of reverse() is any.
Solution:   Use the type of the first argument.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 83b878b..0a10074 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -842,7 +842,7 @@
     {"rename",		2, 2, FEARG_1,	  ret_number,	f_rename},
     {"repeat",		2, 2, FEARG_1,	  ret_first_arg, f_repeat},
     {"resolve",		1, 1, FEARG_1,	  ret_string,	f_resolve},
-    {"reverse",		1, 1, FEARG_1,	  ret_any,	f_reverse},
+    {"reverse",		1, 1, FEARG_1,	  ret_first_arg, f_reverse},
     {"round",		1, 1, FEARG_1,	  ret_float,	FLOAT_FUNC(f_round)},
     {"rubyeval",	1, 1, FEARG_1,	  ret_any,
 #ifdef FEAT_RUBY
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 347dc81..de30a62 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -927,6 +927,15 @@
   assert_equal(6, res)
 enddef
 
+def Test_reverse_return_type()
+  let l = reverse([1, 2, 3])
+  let res = 0
+  for n in l
+    res += n
+  endfor
+  assert_equal(6, res)
+enddef
+
 def Test_remove_return_type()
   let l = remove(#{one: [1, 2], two: [3, 4]}, 'one')
   let res = 0
diff --git a/src/version.c b/src/version.c
index 65cf985..f936783 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1144,
+/**/
     1143,
 /**/
     1142,