Is this assert necessary? I would expect this method to return `NSNotFound` if the step was not in the array rather than assert.