patch 8.2.2339: cannot get the type of a value as a string

Problem:    Cannot get the type of a value as a string.
Solution:   Add typename().
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 83b9931..a84b7f6 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -318,8 +318,8 @@
   if has('job')
     job_start(&shell)
     var jobs = job_info()
-    assert_equal(v:t_list, type(jobs))
-    assert_equal(v:t_dict, type(job_info(jobs[0])))
+    assert_equal('list<job>', typename(jobs))
+    assert_equal('dict<any>', typename(job_info(jobs[0])))
     job_stop(jobs[0])
   endif
 enddef
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index dba8c73..0ba933b 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -6600,6 +6600,14 @@
     call ChangeYourMind()
 endfunc
 
+func Test_typename()
+  call assert_equal('number', typename(123))
+  call assert_equal('string', typename('x'))
+  call assert_equal('list<number>', typename([123]))
+  call assert_equal('dict<number>', typename(#{key: 123}))
+  call assert_equal('list<dict<number>>', typename([#{key: 123}]))
+endfunc
+
 "-------------------------------------------------------------------------------
 " Test 92:  skipping code					    {{{1
 "-------------------------------------------------------------------------------