The naming format \<module>_<description>:<arg-spec> is surely right when starting to build orthogonal modules: In my experimentation, I wrote \<module>/<description>. The thing is that once has this kind of names, one can start building new commands that frees developer from knowing the developer the details of the expanded name. For example, a command \module{module_name}{ ... } which automatically add the module_name to code, and provides special definition commands for the different argument types. The code the developer then writes could then look pretty normal, say \module{tex}{ \def:D\let \def:D\def ... } instead of the definitions of l3names.dtx file \name_primitive:NN \let \name_primitive:NN \def The next step could be submodules of modules. So at least this part looks both exciting and to be the right thing to me. I can note that allowing <description> to contain _ may be a problem when starting to build submodules: Say the name \foo_bar_xxx:w becomes ambiguous, if bar is the submodule of foo, which cannot be distinguished from the name bar_xxx in the module foo. So if submodules should be allowed, then either _ should be an indication of a submodule or a space in a name, but not both. Hans Aberg * Email: Hans Aberg <mailto:[log in to unmask]> * Home Page: <http://www.matematik.su.se/~haberg/> * AMS member listing: <http://www.ams.org/cml/>