J.Fine wrote: > Frank: I don't understand what you mean by 'the overhead of processing'.) I assume Frank was thinking that we wouldn't want to do everything in a dictionary manner as some arguments are always needed, and so something like: \def\foo@bar#1#2{% Title: #1\\% Name: \DictionaryLookup{#2}{name}\\% Address: \DictionaryLookup{#2}{address}\\% } will be faster for the explicitly passed #1 than the dictionary items, independent of how the dictionary is implemented. (I'd assume that a dictionary would be a single data structure: I'd probably do it as an expl3 properly list, and then recovering data would certainly add some processing overhead. However, even a csname expansion as you outline is an additional overhead compared to an explicitly passed value.) -- Joseph Wright