That makes sense, the only thing I'm not sure about is why loop over all of the values if we return the very first one? Why not check `numValues > 0` and use `.nextValue()` directly?