function typeName( error ) {
	var v;
	var i;

	// Check for error objects from the same realm (same Node.js `vm` or same `Window` object)...
	for ( i = 0; i < CTORS.length; i++ ) {
		if ( instanceOf( error, CTORS[ i ][ 0 ] ) ) {
			return CTORS[ i ][ 1 ];
		}
	}
	// Walk the prototype tree until we find an object having a desired native class...
	while ( error ) {
		v = ctorName( error );
		for ( i = 0; i < CTORS.length; i++ ) {
			if ( v === CTORS[ i ][ 1 ] ) {
				return CTORS[ i ][ 1 ];
			}
		}
		error = getPrototypeOf( error );
	}
}
Returns the error type.

@private
@param {(Error|TypeError|SyntaxError|URIError|ReferenceError|RangeError|EvalError)} error - input error
@returns {(string|void)} error type

@example
var err = new TypeError();
var out = typeName( err );
// returns 'TypeError'