In the {{str}} macro, type inference is being used to decide when to apply the single-arity {{str}} function in order to coerce arguments elements in the JavaScript array being joined. But, if you look at the single-arity {{str}} function, it is now implemented as an array join.
This raises the question as to whether such coercions can be skipped entirely, because each element in the array would have the same string conversion performed on it as would be done by calling the single-arity {{str}} function.
If we can do this, then the benefit would be much smaller, more efficient codegen.