diff --git a/src/evalfunc.c b/src/evalfunc.c
index 65cb59f..0e6d759 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1742,6 +1742,8 @@
 			ret_float,	    FLOAT_FUNC(f_trunc)},
     {"type",		1, 1, FEARG_1,	    NULL,
 			ret_number,	    f_type},
+    {"typename",	1, 1, FEARG_1,	    NULL,
+			ret_string,	    f_typename},
     {"undofile",	1, 1, FEARG_1,	    NULL,
 			ret_string,	    f_undofile},
     {"undotree",	0, 0, 0,	    NULL,
diff --git a/src/proto/vim9type.pro b/src/proto/vim9type.pro
index bc30668..316c650 100644
--- a/src/proto/vim9type.pro
+++ b/src/proto/vim9type.pro
@@ -24,4 +24,5 @@
 type_T *get_member_type_from_stack(type_T **stack_top, int count, int skip, garray_T *type_gap);
 char *vartype_name(vartype_T type);
 char *type_name(type_T *type, char **tofree);
+void f_typename(typval_T *argvars, typval_T *rettv);
 /* vim: set ft=c : */
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
 "-------------------------------------------------------------------------------
diff --git a/src/version.c b/src/version.c
index 1b63a5e..fe41ec2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2339,
+/**/
     2338,
 /**/
     2337,
diff --git a/src/vim9type.c b/src/vim9type.c
index c65f747..85f9bd8 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -1170,4 +1170,29 @@
     return name;
 }
 
+/*
+ * "typename(expr)" function
+ */
+    void
+f_typename(typval_T *argvars, typval_T *rettv)
+{
+    garray_T	type_list;
+    type_T	*type;
+    char	*tofree;
+    char	*name;
+
+    rettv->v_type = VAR_STRING;
+    ga_init2(&type_list, sizeof(type_T *), 10);
+    type = typval2type(argvars, &type_list);
+    name = type_name(type, &tofree);
+    if (tofree != NULL)
+	rettv->vval.v_string = (char_u *)tofree;
+    else
+    {
+	rettv->vval.v_string = vim_strsave((char_u *)name);
+	vim_free(tofree);
+    }
+    clear_type_list(&type_list);
+}
+
 #endif // FEAT_EVAL
