I never enjoyed frontend programming until I came across Elm. Not only that Elm turned out to be a gateway drug to Haskell. Now I write frontend and mobile apps in Haskell using Functional Reactive programming (FRP).
That's the reason TypeScript won. It intergrate with existing JavaScript seamlessly.
Does it mean the equivalent to `class` keyword in the OO sense?
Since functions are first class, you can bodge this with an object that has functions in it, but since those don't serialize they don't play well with a lot of Elm idioms if you put them in your model.
And for side-projects I think I prefer PureScript anyway?