function fieldOf( searchElement ) {
			var i;
			if ( this !== tuple ) { // eslint-disable-line no-invalid-this
				throw new TypeError( 'invalid invocation. `this` is not host tuple.' );
			}
			if ( arguments.length > 1 ) {
				i = arguments[ 0 ];
				if ( !isInteger( i ) ) {
					throw new TypeError( format( 'invalid argument. Second argument must be an integer. Value: `%s`.', i ) );
				}
				if ( i >= nfields ) {
					return;
				}
				if ( i < 0 ) {
					i = nfields + i;
					if ( i < 0 ) {
						i = 0;
					}
				}
			} else {
				i = 0;
			}
			for ( ; i < nfields; i++ ) {
				if ( tuple[ i ] === searchElement ) {
					return fields[ indices[ i ] ];
				}
			}
		}
Returns the field of the first tuple element strictly equal to a search element.

## Notes

-   The function does not distinguish between signed and unsigned zero.
-   If unable to locate a search element, the function returns `undefined`.

@private
@memberof tuple
@param {*} searchElement - search element
@param {integer} [fromIndex=0] - tuple index from which to begin searching
@throws {TypeError} `this` must be the host tuple
@throws {TypeError} second argument must be an integer
@returns {(string|void)} tuple field name or `undefined`