In MODS, @type is used to subcategorize. We don't have <personalName> and <corporateName> and so on - and lucky for that.
Dates are the only exception. In <originInfo> we have the long list of <dateIssued>, <dateCreated>, <dateCaptured>, <dateValid>, <dateModified>, <copyrightDate>, and <dateOther>.
If the design principles used elsewhere in MODS were followed, we would instead have one <date> element with a @type attribute that took the values "issued", "created, "captured, "valid, "modified", "copyright, and "other".
While this does not create major problems, I am curious to know why this decision was taken and if changes are being considered.
I have another question relating to typing dates:
In <part>, there is a <date> element. It is used for instance to record that a certain volume of a periodical belongs to a certain year, as for example in "Vol. 44, No. 3 (1999), pp. 13-17." Periodicals are not seldom behind schedule and it happens that this date is not the actual date of issue (the real date of issue may occasionally be recorded on the title page as well).
The <date> element is untyped, so there is no way to record this. I do not know which concrete value a librarian would use if it were possible, but I assume that one can be formulated.
Needless to say, my suggestion is that a coming version of MODS uses a typed <date> element throughout.