Is there an option to make it print the file:line:column? Cause I use emacs and rely on the compiler printing out error messages in that standard format so I can jump to them easily; I could certainly hack together a solution for other output formats, but it's a tad more annoying. Not sure what kind of users would be complaining about having that and it seems like stronger editor support for standard compiler output would fix some (definitely not all) of the problems you identify and solve in this post.
`elm-make --report=json MyFile.elm` gives the error messages as JSON; very easy to parse out line & col. It's how the vim plugin that there's a video of in the post was made.
Beyond that, I'd live to see locations output for everything involved in determining the types of the things that wound up incompatible. With type inference, the actual detected collision can drift a bit from the error. It can usually be quick to pin things down with annotations and get enough localization to find the error, but it would be even nicer to be able to skip that step.