I'm really glad to hear someone talk about the development/debug advantages of static typing. I work in a mixed java/ruby/python shop and issues with typing come up all the time. We catch so many bugs during java compilation that we can't see in ruby/python.
Sure, if you've got great test coverage, you get that with test automation. But I can't tell you how many refactors with "reasonable" (< 100%) test coverage went flawlessly in java with just a compile/fix-compilation-errors loop. I think this is much easier than a run-tests/fix-bugs approach with a type-free language. This is especially true when you've got maturing code and lots of ownership hand-offs.
Any tips on static analysis for ruby/python out there for a curmudgeonly java dev?