Join joins a list of arguments into a string that can be parsed
with Split. Arguments are quoted only if necessary; arguments
without spaces or quotes are kept as-is. No argument may contain both
single and double quotes.
Split splits s into a list of fields,
allowing single or double quotes around elements.
There is no unescaping or other processing within
quoted fields.