Ugh, Sorry, I forgot to strip trailing whitespace. If that wasn't comprehensible for anyone, the heredoc in the preceeding the testcase was:
args() { printf '<%s> ' "$@"; echo; } args "${@}${1}" args "${@}foo" args ${@}${1} args ${@}foo IFS= args ${@}${1} args ${@}foo EOF -- Dan Douglas