``return sum([s != o for s,o in izip(s._sequence, o._sequence)])`` is likely to be faster if sticking with Python strings as it avoids branching inside the loop. If there is a shift to numpy, then something like ``return (self._sequence != other._sequence).sum()``