patch 8.2.1710: Vim9: list of list type can be wrong

Problem:    Vim9: list of list type can be wrong.
Solution:   Use VAR_UNKNOWN for empty list.  Recognize VAR_UNKNOWN when
            looking for a common type. (closes #6979)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index d79e2cd..b9a6811 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1513,6 +1513,10 @@
   	2] [3,
 		4]
 
+  let llstring: list<list<string>> = [['text'], []]
+  llstring = [[], ['text']]
+  llstring = [[], []]
+
   CheckDefFailure(["let x = 1234[3]"], 'E1107:', 1)
   CheckDefExecFailure(["let x = g:anint[3]"], 'E1062:', 1)
 
@@ -1718,6 +1722,14 @@
   mixed = #{a: 234}
   mixed = #{}
 
+  let dictlist: dict<list<string>> = #{absent: [], present: ['hi']}
+  dictlist = #{absent: ['hi'], present: []}
+  dictlist = #{absent: [], present: []}
+
+  let dictdict: dict<dict<string>> = #{one: #{a: 'text'}, two: #{}}
+  dictdict = #{one: #{}, two: #{a: 'text'}}
+  dictdict = #{one: #{}, two: #{}}
+ 
   CheckDefFailure(["let x = #{a:8}"], 'E1069:', 1)
   CheckDefFailure(["let x = #{a : 8}"], 'E1068:', 1)
   CheckDefFailure(["let x = #{a :8}"], 'E1068:', 1)