shouldn't this be equals?  Identity's only preserved if the string isn't interned.

>>> 'HASH' is 'HASH'
True
>>> 'HSAH'[::-1] is 'HASH'
False
>>> 'HSAH'[::-1] == 'HASH'
True