I've had this discussion with co-workers before about scripting languages, and in particular Python, as that is what I am working with currently. I feel that once Python -- or indeed any loosey-goosey language that lack strong types -- programs grow beyond a certain size you easily fall into the "inconsistency trap", especially if you have many programmers working on the same code base. You have to be extra diligent…
If I understand your position, the only thing really needed should be optional typing of parameters (and possibly variables) that are expanded to assert statements on compiling?
And editor support for that typing, of course, to get popups with calling profiles?
There is something in Perl [1], I don't know about Python. Write a PEP. :-)
[1] Method::Signatures@CPAN, et al http://search.cpan.org/~barefoot/Method-Signatures/lib/Metho...
Edit: Basic English grammar, sigh.