Type identification

The header <typeinfo> defines three types for type identification and type identification errors.

The three classes are: