Type system improves correctness by constraining input, so
you spend less time running broken code.
Pure functions have no side-effects, more code is written in
a way that does not affect other parts of the system when it is
run. This makes it easier to reason about.
Refactoring is more deterministic in a typed language.
Modeling category theory is natural in Haskell.
GHCJS provides Haskell -> Javascript compilation.
Lazy evaluation means less wasted computation.
Great testing framework using quickcheck to generate random
values for testing.