"Slow" is not what I read from the benchmarks tho. :) I prefer to avoid edge cases by default and optimize hotspots if necessary. Especially for stuff I publish on PyPI. Likewise I don't care what people do in internal projects. :) It's just frustrating if you install a lib and stuff blows up. :|
Solution: Use a slow, third party library.
I'll (personally) stick with the inspection "problem". Changing program behavior at runtime using inspection against function signatures, unless done ridiculously well, is a recipe for creating an unmaintainable disaster.
Granted, I've seen some pretty cool things done with it (for example, injecting a database connection into a handler function if it has a "db" keyword in its signature), but I've also seen the edge cases where it blows up painfully; explicit vs implicit and all that.
The missing intellisense can be a pain, but the docstring is more reliable in most cases (such as the plethora of stdlib functions with "keyword" arguments which aren't actually keyword arguments since they're implemented in C).