&gt;When I&#x27;m working in a dynamic language, my concept of type is consciously coming from all the static experience<p>Because it&#x27;s fun to have to constantly lookup API docs for whatever API you&#x27;re using right now to get the exact spelling or naming convention for the class that you&#x27;re using. And naturally we&#x27;re all writing unit tests with 100% code coverage so none of those typos ever get in to production.<p>Dynamic typing works great with simple APIs. Once you have to deal with complex data graphs with heterogeneous types it becomes tedious at best (eg. a simple and well designed GUI library) or a major pain in the ass (eg. Blender Python API)<p>Oh and let&#x27;s not even get in to pants on head retarded stuff like monkey patching as a part of regular API (eg. see WAF build system)