For public types declared in the library, whose argument is not of type object, will crash the application when these are used as type functions and an invalid argument type is presented.
They are normally used in this manner when a coder is attempting to avoid application crashes when invalid arguments are being used.