Joseph Wright wrote:
> 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.

My opinion about the \begin<env>–\end<env>: I don’t like it at all.
ConTeXt uses \startenv – \endenv, which is a bit better. A perfect thing
would be: \envstart – \envend. Reason: autocompletion works much better.
Now I always have to type \begin{do <tab> to get \begin{document} as
completion. With \documentstart it would only be \do <tab>. I don’t know
if anybody here likes this, but Joseph asked for discussions…