diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index f15cd96..a540704 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2020 Sep 25
+*autocmd.txt*   For Vim version 8.2.  Last change: 2020 Oct 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -278,7 +278,7 @@
 |BufWinLeave|		before a buffer is removed from a window
 
 |BufUnload|		before unloading a buffer
-|BufHidden|		just after a buffer has become hidden
+|BufHidden|		just before a buffer becomes hidden
 |BufNew|		just after creating a new buffer
 
 |SwapExists|		detected an existing swap file
@@ -883,7 +883,7 @@
 				string.
 							*InsertLeavePre*
 InsertLeavePre			Just before leaving Insert mode.  Also when
-				using CTRL-O |i_CTRL-O|.  Be caseful not to
+				using CTRL-O |i_CTRL-O|.  Be careful not to
 				change mode or use `:normal`, it will likely
 				cause trouble.
 							*InsertLeave*
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 18b0232..6e5cfc8 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.2.  Last change: 2020 Sep 03
+*channel.txt*      For Vim version 8.2.  Last change: 2020 Oct 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -965,6 +965,10 @@
 		"fail", because a fork happens before the failure can be
 		detected.
 
+		If in Vim9 script a variable is declared with type "job" but
+		never assigned to, passing that variable to job_status()
+		returns "fail".
+
 		If an exit callback was set with the "exit_cb" option and the
 		job is now detected to be "dead" the callback will be invoked.
 
@@ -1288,7 +1292,7 @@
 	  " Send the text to a shell with Enter appended.
 	  call ch_sendraw(g:shell_job, a:text .. "\n")
 	endfunc
-		
+
 	" Function handling output from the shell: Added above the prompt.
 	func GotOutput(channel, msg)
 	  call append(line("$") - 1, "- " . a:msg)
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 9b9adf6..ab2219d 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.2.  Last change: 2020 Aug 17
+*editing.txt*   For Vim version 8.2.  Last change: 2020 Oct 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -73,10 +73,14 @@
 			ways: Column, Line, Word, Character and Byte.  If the
 			number of Characters and Bytes is the same then the
 			Character position is omitted.
+
 			If there are characters in the line that take more
 			than one position on the screen (<Tab> or special
-			character), both the "real" column and the screen
-			column are shown, separated with a dash.
+			character), or characters using more than one byte per
+			column (characters above 0x7F when 'encoding' is
+			utf-8), both the byte column and the screen column are
+			shown, separated by a dash.
+
 			Also see the 'ruler' option and the |wordcount()|
 			function.
 
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index d58b02b..b757e5f 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2020 Oct 05
+*eval.txt*	For Vim version 8.2.  Last change: 2020 Oct 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -120,7 +120,7 @@
 
 						*TRUE* *FALSE* *Boolean*
 For boolean operators Numbers are used.  Zero is FALSE, non-zero is TRUE.
-You can also use |v:false| and |v:true|.  In Vim9 script |false| and |true|. 
+You can also use |v:false| and |v:true|.  In Vim9 script |false| and |true|.
 When TRUE is returned from a function it is the Number one, FALSE is the
 number zero.
 
@@ -2746,7 +2746,7 @@
 				none	change an existing property type
 prop_type_delete({name} [, {props}])
 				none	delete a property type
-prop_type_get([{name} [, {props}]])
+prop_type_get({name} [, {props}])
 				Dict	get property type values
 prop_type_list([{props}])	List	get list of property types
 pum_getpos()			Dict	position and size of pum if visible
@@ -3126,7 +3126,7 @@
 		error message is given. Example: >
 			:let failed = appendbufline(13, 0, "# THE START")
 <
-<		Can also be used as a |method| after a List, the base is
+		Can also be used as a |method| after a List, the base is
 		passed as the second argument: >
 			mylist->appendbufline(buf, lnum)
 
@@ -7972,8 +7972,8 @@
 
 
 prompt_getprompt({buf})					*prompt_getprompt()*
-		Returns the effective prompt text for buffer {buf}. {buf} can
-		be a buffer name or number. |prompt-buffer|.
+		Returns the effective prompt text for buffer {buf}.  {buf} can
+		be a buffer name or number.  See |prompt-buffer|.
 
 		If the buffer doesn't exist or isn't a prompt buffer, an empty
 		string is returned.
@@ -10709,8 +10709,8 @@
 		detected from the response to |t_RV| request.  See
 		|v:termresponse| for the response itself.  If |v:termresponse|
 		is empty most values here will be 'u' for unknown.
-		   cursor_style		wether sending |t_RS| works  **
-		   cursor_blink_mode	wether sending |t_RC| works  **
+		   cursor_style		whether sending |t_RS| works  **
+		   cursor_blink_mode	whether sending |t_RC| works  **
 		   underline_rgb	whether |t_8u| works **
 		   mouse		mouse type supported
 
@@ -11366,7 +11366,8 @@
 			curswant	column for vertical movement
 			topline		first line in the window
 			topfill		filler lines, only in diff mode
-			leftcol		first column displayed
+			leftcol		first column displayed; only used when
+					'wrap' is off
 			skipcol		columns skipped
 		Note that no option values are saved.
 
@@ -12140,8 +12141,9 @@
 
 Note that when you make a mistake and call a function that is supposed to be
 defined in an autoload script, but the script doesn't actually define the
-function, the script will be sourced every time you try to call the function.
-And you will get an error message every time.
+function, you will get an error message for the missing function.  If you fix
+the autoload script it won't be automatically loaded again.  Either restart
+Vim or manually source the script.
 
 Also note that if you have two script files, and one calls a function in the
 other and vice versa, before the used function is defined, it won't work.
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index 6420856..f0de21a 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 8.2.  Last change: 2019 Dec 07
+*if_mzsch.txt*  For Vim version 8.2.  Last change: 2020 Oct 14
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -43,7 +43,7 @@
 {script}
 {endmarker}
 			Execute inlined MzScheme script {script}.
-			Note: This command doesn't work if the MzScheme
+			Note: This command doesn't work when the MzScheme
 			feature wasn't compiled in.  To avoid errors, see
 			|script-here|.
 
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index b202a93..d70b3e6 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2020 Sep 19
+*insert.txt*    For Vim version 8.2.  Last change: 2020 Oct 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -312,6 +312,7 @@
 the buffer to a file, the <NL> character is translated into <Nul>.  The <NL>
 character is written at the end of each line.  Thus if you want to insert a
 <NL> character in a file you will have to make a line break.
+Also see 'fileformat'.
 
 						*i_CTRL-X* *insert_expand*
 CTRL-X enters a sub-mode where several commands can be used.  Most of these
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 38282e7..d6215a4 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 8.2.  Last change: 2020 Aug 24
+*motion.txt*    For Vim version 8.2.  Last change: 2020 Oct 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -190,11 +190,14 @@
 
 							*^*
 ^			To the first non-blank character of the line.
-			|exclusive| motion.
+			|exclusive| motion.  Any count is ignored.
 
 							*$* *<End>* *<kEnd>*
 $  or <End>		To the end of the line.  When a count is given also go
-			[count - 1] lines downward. |inclusive| motion.
+			[count - 1] lines downward, or as far is possible.
+			|inclusive| motion.  If a count of 2 of larger is
+			given and the cursor is on the last line, that is an
+			error an the cursor doesn't move.
 			In Visual mode the cursor goes to just after the last
 			character in the line.
 			When 'virtualedit' is active, "$" may move the cursor
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index d70df81..2f9fe1e 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -154,4 +154,4 @@
    v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
 
 ==============================================================================
-vim:tw=78:ts=8:noet:ft=help:fdm=marker
+vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 0e28fdd..87baee6 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt*  For Vim version 8.2.  Last change: 2020 Sep 28
+*popup.txt*  For Vim version 8.2.  Last change: 2020 Oct 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -314,6 +314,7 @@
 		    <Space> <Enter>	accept current selection
 		    x Esc CTRL-C	cancel the menu
 		Other keys are ignored.
+		Always returns |v:true|.
 
 		A match is set on that line to highlight it, see
 		|popup_menu()|.
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 5a2ed2e..7512d0c 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 8.2.  Last change: 2020 Aug 10
+*tabpage.txt*   For Vim version 8.2.  Last change: 2020 Oct 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -195,8 +195,8 @@
 		    :+2tabnext	" go to the two next tab page
 		    :1tabnext	" go to the first tab page
 		    :$tabnext	" go to the last tab page
-		    :tabnext #  " go to the last accessed tab page
 		    :tabnext $	" as above
+		    :tabnext #  " go to the last accessed tab page
 		    :tabnext -	" go to the previous tab page
 		    :tabnext -1	" as above
 		    :tabnext +	" go to the next tab page
@@ -225,7 +225,7 @@
 							*:tabl* *:tablast*
 :tabl[ast]	Go to the last tab page.
 
-					    *g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
+					*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
 g<Tab>		Go to the last accessed tab page.
 
 Other commands:
@@ -259,7 +259,7 @@
 		    :tabmove	" move the tab page to the last
 		    :$tabmove	" as above
 		    :tabmove $	" as above
-		    :tabmove #  " move the tab page after the last accessed
+		    :tabmove #	" move the tab page after the last accessed
 				" tab page
 
 :tabm[ove] +[N]
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5fd41c5..7f07b9f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4378,7 +4378,6 @@
 E539	options.txt	/*E539*
 E54	pattern.txt	/*E54*
 E540	options.txt	/*E540*
-E541	options.txt	/*E541*
 E542	options.txt	/*E542*
 E543	options.txt	/*E543*
 E544	options.txt	/*E544*
@@ -4932,6 +4931,7 @@
 InsertCharPre	autocmd.txt	/*InsertCharPre*
 InsertEnter	autocmd.txt	/*InsertEnter*
 InsertLeave	autocmd.txt	/*InsertLeave*
+InsertLeavePre	autocmd.txt	/*InsertLeavePre*
 Integer	eval.txt	/*Integer*
 J	change.txt	/*J*
 Japanese	mbyte.txt	/*Japanese*
diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt
index ac6d12a..169520c 100644
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 8.2.  Last change: 2020 Mar 05
+*textprop.txt*  For Vim version 8.2.  Last change: 2020 Oct 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -101,7 +101,7 @@
 prop_type_add({name}, {props})		define a new property type
 prop_type_change({name}, {props})	change an existing property type
 prop_type_delete({name} [, {props}])	delete a property type
-prop_type_get([{name} [, {props}]])	get property type values
+prop_type_get({name} [, {props}])	get property type values
 prop_type_list([{props}])		get list of property types
 
 
@@ -291,7 +291,7 @@
 		Can also be used as a |method|: >
 			GetPropName()->prop_type_delete()
 
-prop_type_get([{name} [, {props}]])			*prop_type_get()*
+prop_type_get({name} [, {props}])			*prop_type_get()*
 		Returns the properties of property type {name}.  This is a
 		dictionary with the same fields as was given to
 		prop_type_add().
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9795a0f..48a7946 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Oct 10
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Oct 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,29 +38,13 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Sign highlight in signcolumn disappears if there is line highlighting.
+
 Making everything work:
-- If a function is defined in a block it may need to keep the block-locals,
-  like a compiled closure.
-- Fix memory leaks in test_vim9_assign, remove "if 0"
-- Fix memory leaks in test_vim9_script
+- Test all  command modifiers.
+- Check many more builtin function arguments at compile time.
 - Closure arguments should be more strict, like any function call?
-- Remove v:disallow_let
-- Recognize call to assert_fails() and execute it in the function context?
-  Won't work if the command itself fails, not an expression failure:
-	assert_fails("unknown", "E99:")
-  Use try/catch is complicated:
-    let did_catch = false
-    try
-	unknown
-    catch
-	assert_caught('E99:')
-	did_catch = true
-    endtry
-    assert_true('did_catch')
-  Add a new command perhaps:
-    assertfail
-       unknown
-    endassertfail E99:.*unknown
+- Invoke user command in a :def function
 - Make map() give an error if the resulting type is wrong.
   Add mapnew() or mapcopy() to create a new List/Dict for the result, which
   can have a different value type.
@@ -124,12 +108,12 @@
 - Make "++nr" work.
 - Make closures work:
   - Create closure in a loop.  Need to make a list of them.
+  - nested closure only uses one context, not all (#7150)
 - expandcmd() with `=expr` in filename uses legacy expression.
 - eval_expr() in ex_cexpr()
 - eval_expr() call in dbg_parsearg() and debuggy_find()
 - has() is compiled as a constant, but some checks are dynamic.
   Check for dynamic values, such as "gui_running".
-- Implement command modifiers, such as "silent". (#6530)
 New syntax and functionality:
 Improve error checking:
 - "echo Func()" is an error if Func() does not return anything.
@@ -302,6 +286,8 @@
 
 Patch for blockwise paste reporting changes: #6660.
 
+Missing filetype test for bashrc, PKGBUILD, etc.
+
 Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
 changes.
 
@@ -351,8 +337,6 @@
 Using "au!" after "filetype on" is a bit slow.  Can the matching of
 autocommands be made faster?  (#7056)
 
-Valgrind warns for uninitialized values in f_term_dumpwrite().
-
 Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
     replace this:
 	let left = GetLeftFunc()
@@ -455,7 +439,6 @@
 May 20)
 Also put :argadd commands at the start for all buffers, so that their order
 remains equal?  Then %argdel to clean it up.  Do try this with 'hidden' set.
-Also #4994: window-local options not always restored, related to using :badd.
 Also #5326: netrw buffers are not restored.
 
 Alternate file is not set in the session file.  Use setwintabvar("@#") ?
@@ -595,10 +578,6 @@
 Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
 Added tests (James McCoy, 2016 Aug 3, #958).  Still needs more work.
 
-":2resize +10" uses size of the current window, adds 10 and applies it to
-window 2.  User expects 10 to be added to size of window 2. (Daniel Steinberg,
-#5443)
-
 Would be nice to set tab-local values for 'diffexpr' and 'diffopt'.  Use
 t:diffexpr_option t:diffopt_option? (#4782)
 
@@ -3858,10 +3837,6 @@
     on the status line (caused by 'winheight').  Select window on button up,
     instead of on button down.
 8   Dragging the status line doesn't scroll but redraw.
-9   Evaluating 'statusline' in build_stl_str_hl() does not properly check for
-    reaching the end of the available buffer.
-    Patch to dynamically allocate the buffer for % items. (Eric Arnold, 2006
-    May 14)
 8   When performing incremental search, should abort searching as soon as a
     character is typed.
 8   When the value of $MAKE contains a path, configure can't handle this.
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 542b101..b1c6fa7 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 8.2.  Last change: 2019 Dec 07
+*undo.txt*      For Vim version 8.2.  Last change: 2020 Oct 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -392,7 +392,7 @@
 						*redo-register*
 If you want to get back more than one part of deleted text, you can use a
 special feature of the repeat command ".".  It will increase the number of the
-register used.  So if you first do ""1P", the following "." will result in a
+register used.  So if you first do '"1P', the following "." will result in a
 '"2P'.  Repeating this will result in all numbered registers being inserted.
 
 Example:	If you deleted text with 'dd....' it can be restored with
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index 430c365..d267631 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt*	For Vim version 8.2.  Last change: 2020 Jul 08
+*usr_11.txt*	For Vim version 8.2.  Last change: 2020 Oct 25
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -294,7 +294,7 @@
 'shortmess' option.  But it's very unusual that you need this.
 
 For remarks about encryption and the swap file, see |:recover-crypt|.
-For programatic access to the swap file, see |swapinfo()|.
+For programmatic access to the swap file, see |swapinfo()|.
 
 ==============================================================================
 *11.4*	Further reading
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 1ad90f2..ef28e08 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 8.2.  Last change: 2020 Aug 15
+*version7.txt*  For Vim version 8.2.  Last change: 2020 Oct 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -10260,7 +10260,7 @@
 	Brabandt)
 
 Other:
-	Lua interface now also uses userdata binded to Vim structures. (Taro
+	Lua interface now also uses userdata bound to Vim structures. (Taro
 	Muraoka, Luis Carvalho)
 
 	glob() and autocommand patterns used to work with the undocumented
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index 431b9cd..8f38d9b 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.2.  Last change: 2020 Aug 15
+*version8.txt*  For Vim version 8.2.  Last change: 2020 Oct 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -47698,7 +47698,7 @@
 
 Patch 8.2.1064
 Problem:    Vim9: no line break allowed before comparators.
-Solution:   Check for comperator after line break.
+Solution:   Check for comparator after line break.
 Files:      src/eval.c, src/testdir/test_vim9_expr.vim
 
 Patch 8.2.1065
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index fdbcefc..8551373 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Oct 05
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Oct 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -176,8 +176,8 @@
 for clarity.
 
 In all cases the function must be defined before used.  That is when it is
-called, when `:defcompile` causes the it to be compiled, or when code that
-calls it is being compiled (to figure out the return type).
+called, when `:defcompile` causes it to be compiled, or when code that calls
+it is being compiled (to figure out the return type).
 
 The result is that functions and variables without a namespace can usually be
 found in the script, either defined there or imported.  Global functions and
@@ -901,7 +901,7 @@
   location of the script file itself.  This is useful to split up a large
   plugin into several files.
 - An absolute path, starting with "/" on Unix or "D:/" on MS-Windows.  This
-  will be rarely used.
+  will rarely be used.
 - A path not being relative or absolute.  This will be found in the
   "import" subdirectories of 'runtimepath' entries.  The name will usually be
   longer and unique, to avoid loading the wrong file.
@@ -1160,8 +1160,8 @@
 condition would accept a string, convert it to a number and check if the
 number is non-zero.  This is unexpected and often leads to mistakes, since
 text not starting with a number would be converted to zero, which is
-considered false.  Thus a string would not give an error and be considered
-false if it doesn't start with a number.  That is confusing.
+considered false.  Thus using a string for a condition would often not give an
+error and be considered false.  That is confusing.
 
 In Vim9 type checking is more strict to avoid mistakes.  Where a condition is
 used, e.g. with the `:if` command and the `||` operator, only boolean-like
@@ -1169,7 +1169,7 @@
 	true:  `true`, `v:true`, `1`, `0 < 9`
 	false: `false`, `v:false`, `0`, `0 > 9`
 Note that the number zero is false and the number one is true.  This is more
-persmissive than most other languages.  It was done because many builtin
+permissive than most other languages.  It was done because many builtin
 functions return these values.
 
 If you have any type of value and want to use it as a boolean, use the `!!`
