function findIndex( predicate, thisArg ) {
			var bool;
			var i;
			if ( this !== tuple ) { // eslint-disable-line no-invalid-this
				throw new TypeError( 'invalid invocation. `this` is not host tuple.' );
			}
			if ( !isFunction( predicate ) ) {
				throw new TypeError( format( 'invalid argument. First argument must be a function. Value: `%s`.', predicate ) );
			}
			for ( i = 0; i < nfields; i++ ) {
				bool = predicate.call( thisArg, tuple[ i ], i, fields[ indices[i] ], tuple );
				if ( bool ) {
					return i;
				}
			}
			return -1;
		}
Returns the index of the first tuple element for which a provided predicate function returns a truthy value.

## Notes

-   If the predicate function never returns a truthy value, the function returns `-1`.

@private
@memberof tuple
@param {Function} predicate - predicate function
@param {*} [thisArg] - execution context
@throws {TypeError} `this` must be the host tuple
@throws {TypeError} first argument must be a function
@returns {integer} tuple index or `-1`