I think the ML, and even more so, Haskell, are extremely interesting
type systems and languages. But, personally, I haven't found their
type systems to be sufficiently expressive or sufficiently dynamic for
my needs. I like dynamic polymorphism, I like heterogeneous
collections. I'm sure there are probably people working on extensions
to GHC to allow for similar things, but I don't have time for that. I
don't think the benefits of those type systems outweigh their costs,
for me. And, Haskell is already doing a brilliant job in delivering
that kind of solution.
OTOH, I think immutability is a huge benefit, so Clojure is an effort
to bring that over to a dynamic language. (Erlang is another)
I think ML's restriction of mutation to atomic refs (arrays aside) is
a good idea and was definitely inspiration for Clojure, which adds
transactional semantics.
Rich