Joseph Wright skrev:
> 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

(o.0)

Does it inspect the argument at runtime to figure out which of the two 
cases is at hand? Looks rather fragile & syntactic sugar to me.

> whereas \foo_internal:o would need
> 
> \foo_internal:o {\l_my_tl}
> \foo_internal:o { \toks_use:N \l_my_toks }

I think I would rather prefer that, myself!

> So V is preferred for accessing variables (as the internal structure is
> not important), 

Wouldn't you still need to know the variable's "internal structure" 
when setting it?

Lars Hellström