Looking at Rust, Swift, Scala, even JavaScript ES6, I think that Imperative and Functional styles are doing pretty well together.
Scala has a lot going for it, not the least its interoperability with Java. But being a hybrid language is not zero-cost: its type inference for example is less powerful than Haskell's (it can infer fewer things; I've read this is because inheritance complicates things), and to me its type signatures are harder to read. Also, because pretty much every Scala function has "purity escape hatches" built-in, you can never be sure what does or doesn't have side-effects. And this is unrelated to purity, but Scala's null makes me sad.