Based on my experience, dynamic languages without optional typing make large scale enterprise development unbearable.
Sure, one should be writing unit tests, but in the enterprise context those tests rarely do exist, or if they do, either don't test what they should or are so complex that invalidate any re-factoring taking place.