\documentclass{article} \usepackage{l3expan,l3io} \begin{document} \CodeStart \def_new:Npn\test_cmd:nn#1#2{ \iow_unexpanded_term:n{} \iow_unexpanded_term:n{Argument~1:~#1} \iow_unexpanded_term:n{Argument~2:~#2}} \def:Npn\a{A} \def:Npn\b{B} \def:Npn\aa{\a} \def:Npn\bb{\b} \exp_def_form:nnn {test_cmd}{nn}{oo} \exp_def_form:nnn {test_cmd}{nn}{xx} \exp_def_form:nnn {test_cmd}{nn}{cc} \exp_def_form:nnn {test_cmd}{nn}{nx} \test_cmd:nn{a}{b} \test_cmd:nn{\a}{\b} \test_cmd:oo\aa\bb \test_cmd:xx\aa\bb \test_cmd:cc{a}{b} \test_cmd:nx{a}{\b} \CodeStop \LaTeX\ still works! \end{document}