What&#x27;s wrong with using &quot;isinstance(lst, str)&quot; when necessary?<p>The few cases when you need to make that distinction aren&#x27;t worth infecting the rest of the code with punctuation marks. Using letters to explicitly spell out self-documenting words in the few function names that need to make that distinction is much less intrusive, more flexible, unambiguous and capable of precisely distinguishing many more nuances, than using a small set of punctuation characters throughout all of your code to mitigate rare problems with just a few cases.<p>Of course it can be taken to an extreme, but it&#x27;s much easier to guess or google for the meaning of an Objective C selector than for a bunch of Perl punctuation.<p><a href="http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;15152171&#x2F;what-is-the-longest-method-name-you-have-seen-in-ios-cocoa-touch" rel="nofollow">http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;15152171&#x2F;what-is-the-long...</a>