Totally. I find the biggest difference for me when writing static versus dynamically typed languages is when the type errors crop up. In a statically typed language such as C or Haskell, I'll see them when I run the compiler. In a dynamically typed language like Python or Clojure I'll see them when I run my unit tests. Both of those are things I always do before finalizing a changeset so either way the type errors caught.