I am generally a big fan of dynamically typed languages, or at least so I thought. In fact I have written a number of stories praising the virtues of dynamic typing:
Let me give some background. My favorite language is Julia, which is dynamically typed. When I write Julia code, I tend to follow a REPL based approach. For those unfamiliar with REPL based development I tried to give readers an idea: Test-Driven vs REPL-Driven Development.
Using Julia has influenced a lot of what I think about software development. However what gives a certain blindspot is that I have not used Julia to develop GUIs. When writing Julia code I am generally able to write separate functions which I can test out immediately in the Julia REPL with different input data. This gives the ability to narrow down what you are testing and discover problems quickly.
GUI code tends to be very different to work with. It is event based and there tends to be complex update mechanisms which means you can end up with complex and intricate flow of control.