Dynamic type systems are not inherently more open
I think there&#x27;s a perhaps irreconcilable disconnect between 2 camps here, but I also think that&#x27;s ok and different people are allowed to like different things.<p>My experience, having gone from dynamic typing to static typing and now pining for more expressive type features in my chosen language is that static typing changes where you have to spend the cognitive complexity budget.<p>To my mind if I return to a piece of dynamically typed code written any time other than in the same session I have to load a whole mental model of the entire code, what types all the variables are, what expectations are attached to them, what mutation, if any, each method call performs. I suppose the trade-off is that advocates say you can prototype things more easily when requirements are not known.<p>With static typing I only need to load 2 things, the high level goal, what I need to achieve, and the local context where I need to make the change. The rest is taken care of by static typing, I can encode all that cognitive complexity in the types and I never need to think about it again. But as I say, that&#x27;s how my brain works, yours might work differently and that&#x27;s fine.