FP isn't a technology, it's a way of using technology. You can follow it using JavaScript, or Rust, or Elm, or whatever. But JavaScript doesn't offer true constness (at least, not enforced). Elm does, but no JavaScript-targeted language (including Elm) has proper concurrency at all, type-safe or not (there are Workers, but they come with a bunch of caveats). Rust has good support for FP, type-safe concurrency (whether in an FP style or not), and mostly type-safe constness. Of course it also has its own set of tradeoffs, like anything else.