> 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.