Types are irrelevant to this discussion (the fact that Haskell is typed is a historical accident; the important factor is that it is lazy), and <i>almost everything</i> is useless when it comes to reasoning about large and complex dynamic systems. Except breaking them into smaller, simpler systems.