Ah now I get it, you’re inserting a Tuple into the AST in @m2, and this doesn’t go through macro hygiene because it is not an Expr or Symbol. You can embed anything you want in the AST in case you didn’t know, but it’s uncommon to do so.
julia> dump(@macroexpand @m1 a, b)
Expr
head: Symbol tuple
args: Array{Any}((2,))
1: GlobalRef
mod: Module Main
name: Symbol a
2: GlobalRef
mod: Module Main
name: Symbol b
julia> dump(@macroexpand @m2 a, b)
Tuple{Expr}
1: Expr
head: Symbol tuple
args: Array{Any}((2,))
1: Symbol a
2: Symbol b