I think you might be interested in looking at multi-paradigm languages that use static/inferred typing and combine the functional and imperative paradigms. Some worth taking a look at might be OCaml, Nim, and F Sharp. Nim leans more towards Python, OCaml and F# lean more towards Haskell.
Ocaml is really good with nice tooling like merlin. Compiles to native as well. There's reasonml for people who favour js syntax but I have come to like ocaml syntax.