Hi, here is my take after 4 years of Haskell, and several months of Elm and front-end stuff.
I think that the most important piece in FP is Functors. Elm has them, albeit in many flavours as the typeclasses are not there to help factor the code.
Typeclasses does not bring additional power to the application developper, because in that case a union type can handle all the given cases. It seems to me on the other that library development would greatly benefit from typeclasses, because then you can define typeclasses for cases you cannot know yet.
The aim of Elm being to develop front end applications, I must admit (reluctantly because I love those abstraction stuff) that the balance between power and simplicity is good as it is.