I think the join here isn't needed because `__init__` guarantees it, but in general, `__str__` is usually human readable and `__repr__` as unambiguous as possible, so it seems that both implementations are swapped.

If the sequences can get long, it can be better to return a shortened version of `_sequence` (you don't want to have your terminal flooded by a really long string).