I wouldn't bother with Elm. Among other things: https://www.reddit.com/r/programming/comments/fxvlow/why_im_...
PureScript (https://www.purescript.org) on the other hand is very nice.
PureScript (https://www.purescript.org) on the other hand is very nice.
On the other hand, I feel like PureScript's records that utilize row polymorphism are such a game changer that it's hard for me not to get frustrated with Haskell records when I go back. And while I love where Haskell is going with WASM and JS support, I think it'll be a little while before that is viable for real-world projects.
This has been an initiative for longer than PureScript has existed. I wouldn't expect it to replace PureScript any time soon to be honest.