function shell (strings, ...params) {
    let result = ''

    for (let [ string, param ] of _.zip(strings, params)) {
        result += string + _shellEscape(param)
    }

    return result
}
function shell (strings, ...params) {
    let result = ''

    for (let [ string, param ] of _.zip(strings, params)) {
        result += string + _shellEscape(param)
    }

    return result
}
function shell ( strings , ... params ) { let result = '' for ( let [ string , param ] of _ . zip ( strings , params ) ) { result += string + _shellEscape ( param ) } return result }
/*
escapes embedded string/array template parameters and passes
through already escaped/preserved parameters verbatim
/ * escapes embedded string / array template parameters and passes through already escaped / preserved parameters verbatim