Hello all, The recent question about macro names got me thinking about how environments should be implemented in LaTeX3. I think I've seen this mentioned briefly somewhere, but not really worked through. My thinking is that, although using \<env> ... \end<env> is convenient, it is probably not the best way to (1) keep user and internal macros separate and (2) to show what is going on. I'd therefore imagine a "virtual" module begin used for all of the \begin/\end names, something like: \envs_<env>_begin:w % Seems easiest here to use :w \envs_<env>_end: That means that the business with \end... is removed from command creation much clearer) and that there is no possibility of accidentally using an environment-starting command without \begin. Of course, this is still "some way off", but it seems worth thinking about in the wider context of refactoring expl3 and discussing keeping user function names under control. -- Joseph Wright