NOTE: This article was written for Elm 0.16 and is now out of date. Many of the concepts discussed in this article were removed in the upgrade to 0.17, and some of the Elm syntax was changed in the move to 0.18. Please read the article we rewrote for Elm 0.18 in November 2016. The Ruby Rogues recently did a podcast (#212) about the Elm programming language. Go feast your ears on it right now; this