Pattern matching functions and dialyzer

Correct.

There was a discussion about typing style preferences.

I used to be in the inline typing camp - but at that time I was only concerned about the types of the parameters and really had no awareness of a function’s type. There is such a thing as a function pointer but at the time the typing syntax seemed as mystical as a rune spell.

With JavaScript I discovered using “functions as values” and that is when function types became important - at that point the parameter types were simply derivative of the function type they were part of.