In commit <https://github.com/latex3/svn-mirror/commit/7012a7e>, Joseph 
Wright wrought:
> In general, the team encourage the use of descriptive names in \LaTeX3 code.
> Thus many helper functions will have names which describe briefly what they do,
> rather than simply indicating that they are auxiliary to some higher-level
> function. However, there are places where one or more \texttt{aux} functions
> are required. Where possible, these should be differentiated by signature
> \begin{verbatim}
>   \cs_new_protected:Npn \@@_function:nn #1#2
>     {
>       ...
>     }
>   \cs_new_protected:Npn \@@_function_aux:nn #1#2
>     {
>       ...
>     }
>   \cs_new_protected:Npn \@@_function_aux:w #1#2 \q_stop
>     {
>       ...
>     }
> \end{verbatim}

The use of `\@@_function:nn` implies that the initial function is itself 
an internal one.  Sometime that will be the case, of course, but I think 
`\pkg_function:nn` would  make a better primary.

(Thinking aloud:  Unless the intention is that `\pkg_function:nn` is the 
primary and `\@@_function:nn` ==> `\__pkg_function:nn` is the first 
auxiliary? but then you'd have said that.)

--Joel