After some more irc discussion, I can summarize my worry as It seems hard to combine having some "always available" dsl features [e.g. @ for captures, _, if guards etc] with the ability for an user to rewrite freely a branch: which makes reading of very hard, as you need to know if caseStmtMacros were enabled and if a match overload introduced/changed syntax
the last point is important: currently library's match defined a single DSL which is mostly consistent: extensions all use the same syntax of Name(elements)