Question: Puzzling capitalizations in op(0,e)

For most expressions e, op(0,e) gives the type, e.g. this works if e is of type string, list, set, Array, Vector, Matrix, '+', etc. This is not the case for procedure calls and indexed expressions, but these differences make sense. However, there are other puzzling differences, at least in Maple 2017.2, for which I can see no rationale.

Specifically, if e is a numeric type such as integer, float, or fraction, complex, then op(0,e) returns the capitalized version of the type, e.g. Integer. Note also that type(e,Integer) will generate an error message saying that type 'Integer' does not exist.

A Google search shows that in an old programming guide for Maple (Release V, p.135; copyright 1998), op(0,x) is "integer" if x is an integer, whereas in a more recent programming guide (the 2009 introductory one, p.53), it is capitalized, consistent with the behaviour in Maple 2017.

I do not understand why this change was made. Can anybody shed light on the situation?

Please Wait...