\RequirePackage[removeoldnames]{l3names} \RequirePackage{l3expan} \CodeStart \def_new:Npn\foo:nn#1#2{\def:Npn\xxx{(#1)(#2)}\tex_show:D\xxx} \def:Npn\a{A}\def:Npn\b{B} \def:Npn\aa{\a}\def:Npn\bb{\b} \def:Npn\foo:oo{\exp_args:Noo\foo:nn} \def:Npn\foo:xx{\exp_args:Nxx\foo:nn} \def:Npn\foo:cc{\exp_args:Ncc\foo:nn} \def:Npn\foo:nx{\exp_args:Nnx\foo:nn} \foo:nn{a}{b} \foo:nn{\a}{\b} \foo:oo\aa\bb \foo:xx\aa\bb \foo:cc{a}{b} \foo:nx{a}{\b} \tex_end:D