Whoa.

This doesn't require this much discussion. Just explain *why* it's beneficial (and we can discuss it) or revert it. Simple as that. I'm curious why you feel so strong about this.

Maybe using the word "guarantee" was bit too strong on my part. Sorry about that.

I could just as easily write a `list` class that deletes my entire hard drive on a call to `__getitem__` as well or one that segfaults the interpreter. `pandas` cannot deal with that kind of nonsense nor should it have to. If a user wants to pass those kinds of sequences to `pandas` then they must deal with the consequences.

I'm not trying to *prove* anything here and I never said anything about persistence.

Type testing using the ABCs in `collections` is the equivalent of those two C API calls you mentioned above.