Here's an example of some code from LaTeX's \DeclareFontFamily:
\def\reserved@a{#3} \global \expandafter\let\csname #1+#2\expandafter\endcsname \ifx \reserved@a\@empty \@empty \else \reserved@a \fi I could be wrong, but to me this looks identical to:
\expandafter\gdef\csname#1+#2\endcsname{#3} Now, the source for this code comments:
We compare
\reserved@awith\@emptyIf these two are the same we\letthe ‘extra’ macro equal to\@emptywhich is not the same a doing a\letto\reserved@a— the latter would blow one extra memory location rather then reusing the one from\@empty.
But if we're not re-using the contents of \reserved@a after this point (which we're not, as far as I can see), there's no reason to go this roundabout route, right?