Lars Hellström wrote: >> } >> \cs_generate_variant:Nn \foo_internal:n {V} > > I thought O was the appropriate variant for expanding a token list > control sequence? The re-factor saw us drop "O", and sort-of downgrade "o" (we use it less). The V specifier lets you write both \foo_internal:V \l_my_tl % A macro at the TeX level and \foo_internal:V \l_my_toks % A toks at the TeX level whereas \foo_internal:o would need \foo_internal:o {\l_my_tl} \foo_internal:o { \toks_use:N \l_my_toks } So V is preferred for accessing variables (as the internal structure is not important), and o is meant for cases which go beyond simply getting a variable value "out". -- Joseph Wright