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

def __add__(self, rhs):

    t = super(SafeText, self).__add__(rhs)
    if isinstance(rhs, SafeData):
        return SafeText(t)
    return t
