> I wonder why people are so against building several development levels, I think actually there is no disagreement about the need for separate levels. What I think is important though, is to think of one level at a time. To take your analogy, when designing an asembler language, one probably does not need to consider too much the user interface of a Windowing GUI system. (Although one needs to check that the basic functionality that will be needed in such an application is provided). More specifically, I'd say that the fundamental error in the design of the tex language was to design the primitives with a syntax allegedly suitable for easy use as part of top level document markup. This collapsing of all levels into one is largely responsible for the mess that is contained in the legacy (la)tex documents. So the aim with the l3 code is to get a foundation in which higher levels can be programmed. These higher levels may well have their own concepts of modularity, which need not necessarily be directly related to the modules at this level. This is the reason why I (and probably Frank) appear to be `against' discussion of higher level issues at this time. It is not that they are not needed, it is just that we want to avoid the problems inherent in TeX of having a low level system whose design is distorted by a concern to make it useable at all levels at once. David