'We have to be careful when adding two strings not to reprocess things
that don\'t need to be reprocessed, lest we end up with escapes being
interpreted literally.'

def __add__(self, other):

    if (not isinstance(other, basestring)):
        return NotImplemented
    if (not isinstance(other, ANSIString)):
        other = ANSIString(other)
    return self._adder(self, other)
