diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 4349e76..9ad88ed 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -2864,6 +2864,8 @@
 test_null_list()		List	null value for testing
 test_null_partial()		Funcref	null value for testing
 test_null_string()		String	null value for testing
+test_unknown()			any	unknown value for testing
+test_void()			any	void value for testing
 test_option_not_set({name})	none	reset flag indicating option was set
 test_override({expr}, {val})	none	test with Vim internal overrides
 test_refcount({expr})		Number	get the reference count of {expr}
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index f48984c..e728e27 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -123,6 +123,13 @@
 		Return a |String| that is null. Only useful for testing.
 
 
+test_unknown()						*test_unknown()*
+		Return a value with unknown type. Only useful for testing.
+
+test_void()						*test_void()*
+		Return a value with void type. Only useful for testing.
+
+
 test_option_not_set({name})				*test_option_not_set()*
 		Reset the flag that indicates option {name} was set.  Thus it
 		looks like it still has the default value. Use like this: >
diff --git a/src/evalfunc.c b/src/evalfunc.c
index f1a06ca..cad7a96 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -821,6 +821,8 @@
     {"test_setmouse",	2, 2, 0,	  &t_void,	f_test_setmouse},
     {"test_settime",	1, 1, FEARG_1,	  &t_void,	f_test_settime},
     {"test_srand_seed",	0, 1, FEARG_1,	  &t_void,	f_test_srand_seed},
+    {"test_unknown",	0, 0, 0,	  &t_any,	f_test_unknown},
+    {"test_void",	0, 0, 0,	  &t_any,	f_test_void},
 #ifdef FEAT_TIMERS
     {"timer_info",	0, 1, FEARG_1,	  &t_list_dict_any, f_timer_info},
     {"timer_pause",	2, 2, FEARG_1,	  &t_void,	f_timer_pause},
diff --git a/src/proto/testing.pro b/src/proto/testing.pro
index 2b001a5..7542ccb 100644
--- a/src/proto/testing.pro
+++ b/src/proto/testing.pro
@@ -28,6 +28,8 @@
 void f_test_null_list(typval_T *argvars, typval_T *rettv);
 void f_test_null_partial(typval_T *argvars, typval_T *rettv);
 void f_test_null_string(typval_T *argvars, typval_T *rettv);
+void f_test_unknown(typval_T *argvars, typval_T *rettv);
+void f_test_void(typval_T *argvars, typval_T *rettv);
 void f_test_scrollbar(typval_T *argvars, typval_T *rettv);
 void f_test_setmouse(typval_T *argvars, typval_T *rettv);
 void f_test_settime(typval_T *argvars, typval_T *rettv);
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index c608a5d..cf3dd8c 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -221,6 +221,23 @@
         \, res)
 enddef
 
+
+def FuncWithDefault(arg: string = 'default'): string
+  return arg
+enddef
+
+def Test_disassemble_call_default()
+  let res = execute('disass FuncWithDefault')
+  assert_match('FuncWithDefault.*'
+        \ .. '\d PUSHS "default".*'
+        \ .. '\d STORE arg\[-1].*'
+        \ .. 'return arg.*'
+        \ .. '\d LOAD arg\[-1].*'
+        \ .. '\d RETURN.*'
+        \, res)
+enddef
+
+
 def HasEval()
   if has("eval")
     echo "yes"
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 312d633..a5b6e44 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -765,6 +765,23 @@
   assert_equal(false, ![2])
   assert_equal(true, !!'asdf')
   assert_equal(true, !![2])
+
+  assert_equal(true, !test_null_partial())
+  assert_equal(false, !{-> 'yes'})
+
+  assert_equal(true, !test_null_dict())
+  assert_equal(true, !{})
+  assert_equal(false, !{'yes': 'no'})
+
+  assert_equal(true, !test_null_job())
+  assert_equal(true, !test_null_channel())
+
+  assert_equal(true, !test_null_blob())
+  assert_equal(true, !0z)
+  assert_equal(false, !0z01)
+
+  assert_equal(true, !test_void())
+  assert_equal(true, !test_unknown())
 enddef
 
 func Test_expr7_fails()
diff --git a/src/testing.c b/src/testing.c
index 5dacf07..8a64ce8 100644
--- a/src/testing.c
+++ b/src/testing.c
@@ -896,6 +896,18 @@
     rettv->vval.v_string = NULL;
 }
 
+    void
+f_test_unknown(typval_T *argvars UNUSED, typval_T *rettv)
+{
+    rettv->v_type = VAR_UNKNOWN;
+}
+
+    void
+f_test_void(typval_T *argvars UNUSED, typval_T *rettv)
+{
+    rettv->v_type = VAR_VOID;
+}
+
 #ifdef FEAT_GUI
     void
 f_test_scrollbar(typval_T *argvars, typval_T *rettv UNUSED)
diff --git a/src/version.c b/src/version.c
index d889ce7..95a098b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    299,
+/**/
     298,
 /**/
     297,
