'Concatenating a safe string with another safe string or safe unicode
object is safe. Otherwise, the result is no longer safe.'

def __add__(self, rhs):

    t = super(SafeString, self).__add__(rhs)
    if isinstance(rhs, SafeUnicode):
        return SafeUnicode(t)
    elif isinstance(rhs, SafeString):
        return SafeString(t)
    return t
