I documented how they work in this part[0] of the readme.
[0]: https://github.com/citycide/param.macro#differences-between-...
I like the direction typescript is going, where you can easily see not only the arity but the type of each parameter, without reading the function body. This is more skimmable.
It's like if mountain-climbing caused more mountains to rise up above you. This is great if you love climbing mountains but terrible if you actually want to reach the top.
We keep "improving" our languages but very few of us take the time to measure our real productivity.
What is the business value case for not using Elm-lang?
At some point, if we are "doing it right" the total amount of code in the world (modulus copies) should be contracting.