function type() {
	var str = '';
	var arr;

	if ( ch === '<' ) {
		goNext( '<' );
		if ( ch === '>' ) {
			goNext( '>' );
			return '<>'; // empty type annotation
		}
		while ( ch !== '>' ) {
			str += ch;
			goNext();
		}
		goNext( '>' );
		if ( ch === '[' ) {
			// Encountered a deep instance equality type annotation:
			arr = array();
			if ( isNumberArray( arr ) ) {
				return new ctors[ str ]( arr );
			}
			return arr;
		}
		return '<'+str+'>';
	}
}
Parses a type annotation.

@private
@returns {string} type identifier wrapped in quotes