And I do not think of join as being a three-argument function, as your title suggests. I think of is as two-argument: an expression for the separator and a list.
toolic, you are right, I probably should have said "three-argument usage of join" or "pseudo-separator, two-element list usage of join".
On second thought, I might settle now for "abusing middle element of three-element list as join() separator" or something.
If we take this much further we might be able to squeeze the whole discussion into a headline...