Someone in the Elm slack channel threw out this idea of naming
Msg in the past tense, and not imperatively. I thought it was an interesting idea and I adopted the practice, just to try it out. I forgot who it was, I wish I could give them credit.
Anyway, the ramifications were more than I expected, and not simply the same
Msg with different names. What I started doing is naming
Msg as if they were saying "This happened". So where I would say "HandleUsernameField" I might instead say "UsernameFieldChanged" or instead of "Close" I would do "XClicked". What I didnt account for was that
Msg and functionality dont map one to one. So for example, if you have a
Navigate, its going to be the one
Msg you use whenever you want to navigate. But if you are naming
Msg as paste-tense descriptions, then several different things could happen that could cause a navigation. Since many things should cause a navigation, naming
Msg in the past tense leads to lots of
Msg which do the same thing.