The attached patch provides for a background void-variable error that happens when parts of an outline are being concealed. Because the error happens via the after-change-functions hook, it was being caught by an allout provision and reported in the mode line.

To see the error before applying the patch, make a simple outline, activate allout-mode, and then conceal a part of the outline by positioning on the item whose contents you can hide and using `allout-hide-current-subtree' (by default, bound to '\C-c SPC \C-h'). When the problem occurs you will see a message in the mode line, like:

allout-widgets-last-hook-error stored, allout-widgets-hook-error-handler/error (void-variable handled-conceal)  6-Jul-2020 01:10:58 PM

You can then see that message and a full backtrace in the *Messages* buffer.

(The let declaration for the variable was probably removed because use of the variable is oblique. It happens through `(symbol-value handling)'.)