That's because the Elm compiler doesn't yet do much in the way of "dead code elimination" (DCE).
However, that will change in a future release of Elm, once Joey Eremondi's work has been fully integrated. My understanding is that integration is not slated for the 0.16 release (imminent) but will likely be part of the 0.17 release.
Are they planning to leverage the Google Closure compiler the way Clojurescript does? Un-optimized Clojurescript is also huge until it runs through Closure compilation.
No, I believe the DCE implementation (still in the works) is specific to the Elm compiler, as opposed to an implementation which organizes the source in such a way as to leverage Google's Closure compiler.
However, that will change in a future release of Elm, once Joey Eremondi's work has been fully integrated. My understanding is that integration is not slated for the 0.16 release (imminent) but will likely be part of the 0.17 release.
See: https://groups.google.com/forum/#!searchin/elm-dev/dead$20co...