Joseph Wright wrote: > I'd suggest the following: > > New Current Input Output Description > > D D Varies Varies Do not use (kernel only) > E E Single token Unbraced One expansion > N N Single token Unbraced No expansion > O O Single token Braced One expansion > P p Parameters n/a Primitive TeX parameters > W w Varies Varies "Weird" argument > X X Single token Braced Full expansion > > c c Braced tokens Braced Tokens to csname > e e Braced tokens Unbraced Expand once > f F Braced tokens Braced False branch > n n Braced tokens Braced No expansion > o o Braced tokens Braced One expansion > s f Braced tokens Braced "Stop" expansion > t T Braced tokens Braced True branch > u d Braced tokens Braced Double expansion > v C Braced tokens Braced To csname, expand once > x x Braced tokens Braced Full expansion Or perhaps by moving D: New Current Input Output Description D - Single token Braced Double expansion N N Single token Unbraced No expansion O O Single token Braced One expansion P p Parameters n/a Primitive TeX parameters R (or K)D Varies Varies Reserved/kernel only U E Single token Unbraced Expand once unbraced W w Varies Varies "Weird" argument X X Single token Braced Full expansion c c Braced tokens Braced Tokens to csname u e Braced tokens Unbraced Expand once unbraced f F Braced tokens Braced False branch n n Braced tokens Braced No expansion o o Braced tokens Braced One expansion s f Braced tokens Braced "Special" expansion t T Braced tokens Braced True branch d d Braced tokens Braced Double expansion e C Braced tokens Braced To csname, expand once x x Braced tokens Braced Full expansion I should point out that this leaves only u, U, N, R, W and P where the output is not braced. The later three I think there is no issue with. I'd also suggest that "N" (and "n") mean "No change", so again I think myself this is quite clear. So the only "special" you really end up with is u/U. I'd suggest that one letter than behaves oddly can be accepted. (It is a relatively rare one, at least for me at the moment.) Also, to answer my own original question, this would then mean that Morten's suggestion \exp_after:NN => \exp_args:NE would make sense. I think that you simple have to accept that it is slightly odd (the whole \exp_args:NE { \macro } business). -- Joseph Wright