I looked at Elm, PureScript and GHJS, and chose PureScript for pretty much the mentioned reasons (powerful types, clean output, easy JS interop). I have a lot of experience in Haskell, and I find it refreshing that PureScript libraries and solutions have a lot of freedom to implement whatever they want, compared to the Haskell world which has a large amount of conventions to adhere to (and standard libraries to be compatible with).