I do actually think it is essential. R is a modular design, and it
isn't possible to define in advance what a package might wish to
contain in terms of user interface. Certain things might be boiled
down to a static description that could sit in an external file or in
an R data structure, but not all. How would a dynamic graphics
package like ggobi (um, tkgobi?) fit in for instance? Programmability
has been *the* key to the success of the S languages, so why should we
discard the possibility of making our user interfaces programmable?