patch 8.2.2449: Vim9: flatten() always changes the list type

Problem:    Vim9: flatten() always changes the list type.
Solution:   Disallow using flatten() and add flattennew().
diff --git a/src/testdir/test_flatten.vim b/src/testdir/test_flatten.vim
index 34431f8..7d321f7 100644
--- a/src/testdir/test_flatten.vim
+++ b/src/testdir/test_flatten.vim
@@ -81,4 +81,13 @@
   call assert_equal([2, l:x], l:y)
 endfunc
 
+func Test_flattennew()
+  let l = [1, [2, [3, 4]], 5]
+  call assert_equal([1, 2, 3, 4, 5], flattennew(l))
+  call assert_equal([1, [2, [3, 4]], 5], l)
+
+  call assert_equal([1, 2, [3, 4], 5], flattennew(l, 1))
+  call assert_equal([1, [2, [3, 4]], 5], l)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab