## key step:
out=$((set -o xtrace;: "$@") 2>&1)
# xtrace option shows us quoting for our args
## Cleanup $out
# only 1 of the next 4 'left trims' is expected to change $out:
out=${out#+++++ }
# if $FUNCNAME is eval'd three times there are five "+" chars
out=${out#++++ }
# if $FUNCNAME is eval'd twice there are four "+" chars
out=${out#+++ }
# if $FUNCNAME is eval'd there are three "+" chars
out=${out#++ }
# xtrace prepends the '++ '; ': ' is from our code shown above.
# We strip these 5 left most chars.
# Would be nice to support any level of evals, (hence any no.
# of '+' chars) [...]