Am 15.03.2014 23:18, schrieb Michiel Helvensteijn:
> On Sat, Mar 15, 2014 at 6:08 PM, Joseph Wright
> <[log in to unmask]> wrote:
>> Working systematically, I notice that I use a few variants of core expl3
>> commands that have to be created. Based on the 'document everything
>> public' principle, these should be mentioned (they have 'public'
>> function names). On the other hand, they are 'nothing to do with me' as
>> all I'm doing is something like
>>    \cs_generate_variant:Nn \some_team_function:n { V }
> Would you have generated this variant for the public interface even if
> you didn't need it internally? That is, does it make sense on its own?
> If so, document it. If not, don't document it.

that's perfectly right if \some_team_function:n is really an interface 
of the package being defined. I maintain it is not alright if it is an 
interface of a different package or the kernel.

In that case any package that needs the variant should declare it (which
is an idempotent operation, so that's fine) but it avoids creating 
dependencies between packages that are unnecessary.