def __radd__(self, other):
return TokenWithPosition(other + self.text,<EOL>self.position - len(other))<EOL>
Implements addition in the form of (obj) + TextWithPosition(...).

        Note that if the first element is TokenWithPosition,
        TokenWithPosition(...).__add__(...) will be used. As a result, we
        can assume WLOG that `other` is a type other than TokenWithPosition.

        >>> t1 = TokenWithPosition('as', 2) + TokenWithPosition('dfg', 2)
        >>> str(t1)
        'asdfg'
        >>> t1.position
        2
        >>> t2 = 'as' + TokenWithPosition('dfg', 2)
        >>> str(t2)
        'asdfg'
        >>> t2.position
        0