So this implies using a single Msg
type through your app, you still have hierarchy inside of it? Seems that any reasonably-sized app should have some form of hierarchal structure.
Something like that:
type Msg =
| CommonAppRelated
| PartRelated (DoSomethingWithPart | DoSomethingElseWithPart)
| OtherPartRelated (DoSomethingWithOtherPart | DoSomethingElseWithOtherPart)
?