I think the fact that this (and all macros with `babel-plugin-macros`) requires an explicit import helps keep it out of magic territory. You do have to become aware that the symbols transform the function/argument they're a part of, but this is only really new to JS devs. It's familiar in a bunch of other languages.
I documented how they work in this part[0] of the readme.
[0]: https://github.com/citycide/param.macro#differences-between-...