type attributes

I noticed this peculiarity about the type attribute going through the
specs last night.

<quote excerpt="true"> Identifier (ci)

"the ci element uses the type attribute to specify the type of the object
that it represents.  Valid types include 

  integer,    real,   float,    complex,   constant

and more generally, any of the names of MathML container elements or their
type values.

This yields as additional types allowed the container elements:

  apply, lambda, fn, reln, set, interval, list, matrix, vector, 
  matrixrow, cn, ci, csymbol, (lowlimit, uplimit, degree, bvar)

plus the additional type values of container elements:

  cn:       complex-cartesian, complex-polar
  declare:  (completely unrestrained: CDATA?)
  (tendsto:  above, below,...)

This list does not contain

  type="logical"      (example,

nor does it contain the operator types defined in MathML, namely

  function,  relation,  quantifier,  operator,   constructor,

From these lists it is clear that it would probably be a good idea to make
as complete a list of type attributes here as is reasonable, with
definitions, and to allow general CDATA otherwise. csymbol:  shouldn't this allow a type attribute, too?



"The act of defending any of the cardinal virtues has today 
all the exhilaration of a vice." -
G.K.Chesterton: A Defense of Humilities, The Defendant, 1901