Python's join() won't join the string representation (__str__) of my object
<p>I'm not sure what I'm doing wrong here:</p>

<pre><code>&gt;&gt;&gt; class Stringy(object):
...     def __str__(self):
...             return "taco"
...     def __repr__(self):
...             return "taco"
... 
&gt;&gt;&gt; lunch = Stringy()
&gt;&gt;&gt; lunch
taco
&gt;&gt;&gt; str(lunch)
'taco'
&gt;&gt;&gt; '-'.join(('carnitas',lunch))
Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: sequence item 1: expected string, Stringy found
</code></pre>

<p>Given my inclusion of the <code>__str__()</code> method in the Stringy object, shouldn't <code>join()</code> see lunch as a string?</p>
