Tracking types is difficult when working with large monolithic codebases. If you find that types are getting hard to keep track of without a static checker it's likely a sign that it's time to break the code up into isolated components that can be reasoned about independently.
@kravietz for me it's immutability and pure functions in Clojure. :)