This is a follow-up to workers/52510. The patch permits nofork substitutions ("current shell command substitutions") to access private parameters in the calling function scope, just as other current shell constructs like brace commands are able to. However, private parameters declared within a nofork substitution are not accessible by nested nofork substitutions. Also fixed is an existing crash bug on explosive { exec {kaboom}>&2 } detonator() { private kaboom explosive } Fixes/adds tests for using "private" along with TYPESET_TO_UNSET, plus tests and doc for all of the above.