In my Opinion the only valid argument for static typing is better tool support. While refactoring capabilites of state-of-the-art Java IDEs are pretty
good, there are other possibilities to assist the developer.
One such way is shown by Prospector a tool to mine APIs for jungloids. That is calls or call chains that return an object of a desired type for an object of a given type. It is a kind of query engine over your (or better someone else’s) code base. If you start with an IFile object in eclipse you might want to get the containing IProject. Prospector will then propose call chains to get the desired return type.