Bring over all the improvements from the master branch of elm-lang/Elm