patch 8.2.0818: Vim9: using a discovery phase doesn't work well

Problem:    Vim9: using a discovery phase doesn't work well.
Solution:   Remove the discovery phase, instead compile a function only when
            it is used.  Add :defcompile to compile def functions earlier.
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 74804b4..e104258 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -423,8 +423,7 @@
   assert_match('FuncWithForwardCall\_s*' ..
         'return g:DefinedLater("yes")\_s*' ..
         '\d PUSHS "yes"\_s*' ..
-        '\d UCALL g:DefinedLater(argc 1)\_s*' ..
-        '\d CHECKTYPE string stack\[-1]\_s*' ..
+        '\d DCALL DefinedLater(argc 1)\_s*' ..
         '\d RETURN',
         res)
 
@@ -436,7 +435,6 @@
         'return g:DefinedLater("yes")\_s*' ..
         '\d PUSHS "yes"\_s*' ..
         '\d DCALL DefinedLater(argc 1)\_s*' ..
-        '\d CHECKTYPE string stack\[-1]\_s*' ..
         '\d RETURN',
         res)
 enddef
@@ -604,7 +602,7 @@
         '\d PUSHS "x"\_s*' ..
         '\d LOAD $0\_s*' ..
         '\d PCALL (argc 1)\_s*' ..
-        '\d CHECKTYPE string stack\[-1]',
+        '\d RETURN',
         instr)
 enddef